如何清除此错误ExecuteNonQuery:在将值插入数据库时尚未初始化Connection属性 [英] how to clear this error ExecuteNonQuery: Connection property has not been initialized while insert values into database
本文介绍了如何清除此错误ExecuteNonQuery:在将值插入数据库时尚未初始化Connection属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
class Connection
{
public static SqlConnection con = new SqlConnection("Data Source=SYSTEM2\\SQLEXPRESS;Initial Catalog=library;Integrated Security=True");
public static SqlCommand cmd = new SqlCommand();
public static SqlDataReader dr;
public static SqlDataAdapter da;
public static void Open()
{
con.Open();
cmd = con.CreateCommand();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
}
public static void Close()
{
cmd = null;
con.Close();
}
private void button1_Click(object sender, EventArgs e)
{
Connection.con.Open();
Connection.cmd.CommandText = "INSERT_REG";
Connection.cmd.Parameters.AddWithValue("@ID",textBox1.Text);
Connection.cmd.Parameters.AddWithValue("@NAME", textBox2.Text);
Connection.cmd.Parameters.AddWithValue("@ADDRESS", textBox3.Text);
Connection.cmd.Parameters.AddWithValue("@CONTACT", textBox4.Text);
Connection.cmd.ExecuteNonQuery();
Connection.con.Close();
MessageBox.Show("REGISTRATION SUCCESSFULLY", "INFORMATION", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
}
推荐答案
你可以直接拨打Connection.Open()
因为它是静态方法。
u can directly call Connection.Open()
because it is a static method.
尝试类似的东西:
Well try something similar:
public static int ExecuteMyQuery(int p1, int p2, int p3, int p4)
{
string connString = @"Data Source=SYSTEM2\SQLEXPRESS;Initial Catalog=library;Integrated Security=True";
using (SqlConnection cn = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand("sp_MyStored", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@p1", SqlDbType.Int).Value = p1;
cmd.Parameters.Add("@p2", SqlDbType.Int).Value = p2;
cmd.Parameters.Add("@p3", SqlDbType.Int).Value = p3;
cmd.Parameters.Add("@p4", SqlDbType.Int).Value = p4;
cmd.Parameters.Add("@retVal", SqlDbType.Int).Direction = ParameterDirection.Output;
cn.Open();
cmd.ExecuteNonQuery();
return (int)cmd.Parameters["@retVal"].Value;
}
}
}
这个例子工作正常。调整你的代码,如果有的话请告诉我们。
干杯
This example works fine. Adapt your code and if any let us know.
Cheers
使用
Use
Connection.cmd.Connection=Connection.con;
as
as
Connection.cmd.Connection=Connection.con;
Connection.cmd.Parameters.AddWithValue("@ID",textBox1.Text);
Connection.cmd.Parameters.AddWithValue("@NAME", textBox2.Text);
Connection.cmd.Parameters.AddWithValue("@ADDRESS", textBox3.Text);
Connection.cmd.Parameters.AddWithValue("@CONTACT", textBox4.Text);
Connection.cmd.ExecuteNonQuery();
这篇关于如何清除此错误ExecuteNonQuery:在将值插入数据库时尚未初始化Connection属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文