我正在编写一个简单的程序来将数据插入表中。继续收到此错误:
未处理的类型' System.InvalidOperationException'发生在System.Data.dll中 附加信息:ExecuteNonQuery:尚未初始化Connection属性。
代码:
SqlConnection con = new SqlConnection("Server=ServerName;Database=byte;User=USR;Pwd=PSW;");
con.Open();
string INstring = "INSERT INTO BWDrfid(RFID,EmpNum) VALUES ('" + RFID + "', '" + EID + "')";
SqlCommand cmd = new SqlCommand(INstring);
cmd.ExecuteNonQuery();
con.Close();
答案 0 :(得分:5)
您没有连接命令和连接。请改用此过载:
SqlCommand cmd = new SqlCommand(INstring, con);
答案 1 :(得分:3)
对于初学者来说,你还没有连接到你的SqlCommand,这就是错误告诉你的错误。
SqlCommand cmd = new SqlCommand(INstring, con);
更重要的是,参数化您的查询,您可以使用SQL注入。另请考虑将SqlCommand
和SqlConnection
对象括在using
语句中。
using (SqlConnection con = new SqlConnection("Server=ServerName;Database=byte;User=USR;Pwd=PSW;"))
{
con.Open();
string INstring;
INstring = "INSERT INTO BWDrfid(RFID,EmpNum) VALUES (@RFID, EID)";
using (SqlCommand cmd = new SqlCommand(INstring, con))
{
cmd.Parameters.Add(new SqlParameter("@RFID", SqlDbType.VarChar).Value = RFID);
cmd.Parameters.Add(new SqlParameter("@EID", SqlDbType.VarChar).Value = EID);
//cmd.Parameters.AddWithValue("@EID", EID); //Or AddWithValue
cmd.ExecuteNonQuery();
}
}
答案 2 :(得分:2)
您缺少连接参数
你可以使用这个重载
SqlCommand command = new SqlCommand(INstring, con);
或者这个
sqlCommand.Connection = con;