【发布时间】:2019-12-19 21:00:39
【问题描述】:
我正在创建一个约会表,我想在另一个用户进入之前检查该行是否包含相同的 Date、Slot、HR。
在显示的代码之前打开连接。
SqlCommand slot_check = new SqlCommand("select * from Appointment where AppoinmentDate='"+textBox1.Text+"' and Slot='"+comboBox3.Text+ "'and HRName='" +comboBox2.Text+"'");
SqlDataReader Exist = slot_check.ExecuteReader();
if (Exist.HasRows)
{
string message = "Appointment Already Exists!!!!!";
MessageBox.Show(message);
}
else
{
string message = "Update";
MessageBox.Show(message);
}
System.InvalidOperationException: 'ExecuteReader: 连接属性尚未初始化。'
【问题讨论】:
-
SqlCommand中的连接在哪里设置?如果没有连接,您的命令将无法访问数据库并执行。旁注:尽快了解如何使用参数化查询而不是连接字符串
-
Little Bobby Tables sez:请在查询中使用参数!!
-
如果您稍后要获取约会数据,您可以将
if (Exist.HasRows)更改为if (Exist.Read())。.Read()函数如果确实读取了false,则返回true,如果没有(如果不存在数据或所有数据都已读取)
标签: c# sql .net windows winforms