首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

无法将类型“System.Data.SqlClient.SqlCommand”隐式转换为“string”,该怎么处理

2012-03-05 
无法将类型“System.Data.SqlClient.SqlCommand”隐式转换为“string”以下是一个公共类的代码:usingSystemus

无法将类型“System.Data.SqlClient.SqlCommand”隐式转换为“string”
以下是一个公共类的代码:

using   System;
using   System.Data;
using   System.Configuration;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.WebControls.WebParts;
using   System.Web.UI.HtmlControls;
using   System.Data.SqlClient;

///   <summary>
///   Sqldata   的摘要说明
///   </summary>
public   class   Sqldata
{
        private   SqlConnection   sqlcon;
        private   SqlCommand   sqlcom;
        private   SqlDataAdapter   sqldata;
        #region
        public   Sqldata()
{
//
//   TODO:   在此处添加构造函数逻辑
                //
              sqlcon=new   SqlConnection(ConfigurationManager.AppSettings[ "constr "]);
              sqlcon.Open();
        }
        #endregion
        #region
        public   bool   ExecSql(string   SqlCom)
        {
                sqlcom   =   new   SqlCommand(SqlCom,   sqlcon);
                try
                {
                        sqlcom.ExecuteNonQuery();
                        return   true;
                }
                catch
                {
                        return   false;
                }
                finally
                {
                        sqlcon.Close();
                }
        }
        #endregion
        public   DataSet   ExecDS(string   sqlcom)
        {
                try
                {
                        sqlcom   =   new   SqlCommand(sqlcom,   sqlcon);
                        sqldata   =   new   SqlDataAdapter();
                        sqldata.SelectCommand   =   sqlcom;
                        DataSet   ds   =   new   DataSet();
                        sqldata.Fill(ds);
                        return   ds;



                }
                finally
                {
                        sqlcon.Close();
                }

        }
        public   SqlDataReader   ExcuRead(string   SqlCom)
        {
                sqlcom   =   new   SqlCommand(SqlCom,   sqlcon);
                SqlDataReader   read   =   sqlcom.ExecuteReader();
                return   read;
        }


}

执行时候出现以下错误:
错误1无法将类型“System.Data.SqlClient.SqlCommand”隐式转换为“string”E:\web\NetShop\App_Code\Sqldata.cs5322E:\web\NetShop\
错误2无法将类型“string”隐式转换为“System.Data.SqlClient.SqlCommand”E:\web\NetShop\App_Code\Sqldata.cs5537E:\web\NetShop\

请问如何解决???谢谢


[解决办法]
sqlcon=new SqlConnection(ConfigurationManager.AppSettings[ "constr "])
改为: sqlcon=new SqlConnection(ConfigurationManager.AppSettings[ "constr "].ToString())
[解决办法]
private SqlConnection sqlcon;
private SqlCommand sqlcom;

public DataSet ExecDS(string sqlcom)
{
try
{
sqlcom = new SqlCommand(sqlcom, sqlcon);

两个变量名冲突了,这个coding style很不好
[解决办法]
把 public DataSet ExecDS(string sqlcom)
{
try
{
sqlcom = new SqlCommand(sqlcom, sqlcon);

````````````````````````````````````````````````````````````
改成

public DataSet ExecDS(string Sqlcom)
{
try
{
sqlcom = new SqlCommand(Sqlcom, sqlcon);

热点排行