Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ExecuteOnQuery:尚未初始化连接属性_C#_Asp.net_Sql - Fatal编程技术网

C# ExecuteOnQuery:尚未初始化连接属性

C# ExecuteOnQuery:尚未初始化连接属性,c#,asp.net,sql,C#,Asp.net,Sql,我有这段代码,当我运行它时,会出现以下错误ExecuteOnQuery:Connection属性尚未初始化。 我有sql数据库。 它的名字叫成本。 我有这段代码,当我运行它时,会出现以下错误ExecuteOnQuery:Connection属性尚未初始化。 我有sql数据库。 它的名字叫成本。 我的代码是: namespace Accountingss { public partial class WebForm1 : System.Web.UI.Page {

我有这段代码,当我运行它时,会出现以下错误ExecuteOnQuery:Connection属性尚未初始化。 我有sql数据库。 它的名字叫成本。 我有这段代码,当我运行它时,会出现以下错误ExecuteOnQuery:Connection属性尚未初始化。 我有sql数据库。 它的名字叫成本。 我的代码是:

    namespace Accountingss
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        public SqlConnection conn;

        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Connect(string cmdtxt, Hashtable parameters)
        {
            conn = new SqlConnection();
            string connString = @"Data      Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Cost.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
            conn.ConnectionString = connString;
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = cmdtxt;
            cmd.Parameters.Clear();
            var ieParams = parameters.GetEnumerator();
            while (ieParams.MoveNext())
            {
                cmd.Parameters.AddWithValue(ieParams.Key.ToString(), ieParams.Value.ToString());
                //cmd.Parameters.Add(new SqlParameter(ieParams.Key.ToString(), ieParams.Value.ToString()));
            }

            conn.Open();
            cmd.ExecuteNonQuery();

            //SqlDataAdapter costdataAdpater = new SqlDataAdapter();
            //DataTable costdataTable = new DataTable(); 
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string insert = "INSERT INTO Cost (Type, Amount) VALUES (@type,         @amount)";// +type.Text + ',' + a.Text + ")";
            var addpTA = new Hashtable();
            addpTA.Add("@type", txtType.Text);
            addpTA.Add("@amount", txtAmount.Text);
            Connect(insert, addpTA);
        }
    }
}

在执行之前,只需将SqlConnection连接到SqlCommand

cmd.Connection = conn;
连接对象是将命令传递给底层数据库引擎的工具。 如果我们想访问数据库,我们需要把它与我们的命令联系起来

一个好的快捷方式是使用此方法直接从连接创建命令

   SqlCommand cmd = conn.CreateCommand();

在执行之前,只需将SqlConnection连接到SqlCommand

cmd.Connection = conn;
连接对象是将命令传递给底层数据库引擎的工具。 如果我们想访问数据库,我们需要把它与我们的命令联系起来

一个好的快捷方式是使用此方法直接从连接创建命令

   SqlCommand cmd = conn.CreateCommand();

您应该将连接传递给命令

SqlCommand cmd = new SqlCommand(conn);


您应该将连接传递给命令

SqlCommand cmd = new SqlCommand(conn);


您必须将连接分配给sql命令,如下所示。看来你忘了这么做

cmd.Connection = conn;

您必须将连接分配给sql命令,如下所示。看来你忘了这么做

cmd.Connection = conn;

您没有将命令连接到连接

cmd.Connection = conn;
执行命令后,您应该将其关闭

conn.Close();

您没有将命令连接到连接

cmd.Connection = conn;
执行命令后,您应该将其关闭

conn.Close();

添加cmd.Connection=conn;SqlCommand cmd之后=新的SqlCommand;错误消息准确地说明了这里的错误。add cmd.Connection=conn;SqlCommand cmd之后=新的SqlCommand;错误消息准确地说明了此处的错误。连接未关闭。连接的当前状态为“打开”。但是我已经关闭了连接!!!连接没有关闭。连接的当前状态为“打开”。但是我已经关闭了连接!!!