求指教
public bool search(string sql){
conn.Open();
cmd = new SqlCommand(sql, conn);
if (cmd.ExecuteNonQuery() == 1)
{
return true;
}
else
{
return false;
}
}
str = "select * from employees where EID='" + textBox2.Text.Trim() + "' ";
if(search(str))
{
MessageBox.Show("员工号已存在,请重新录入");
conn.Close();
}
在这个If语句中调用上面的search()方法,为什么在员工号已经存在的情况下也没有返回结果呢?求指教啊! --------------------编程问答-------------------- 断点.调试. --------------------编程问答-------------------- select 不是 ExecuteNonQuery
--------------------编程问答-------------------- private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(queryString, connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(String.Format("{0}", reader[0]));
}
}
}
用这样的。。。 --------------------编程问答-------------------- 没有trycatch,估计程序已经有异常了,而你没catch到。
把SQL贴到数据库里跑一下,看看到底有没有结果。 --------------------编程问答-------------------- 单步调试了,对于存在的员工号返回的是false --------------------编程问答-------------------- 因为不是一次用到这样的语句,想着写一个方法会比较简单一些
--------------------编程问答-------------------- 那应该怎么修改以查看是否已经存在此员工信息啊! --------------------编程问答-------------------- public bool search(string sql)
{
conn.Open();
cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
if(reader.Read())
{
return true;
}
else
{
return false;
}
} --------------------编程问答-------------------- str = "select Count(*)... --------------------编程问答-------------------- 对于insert,update,delete操作使用ExecuteNonQuery,查询使用ExecuteQuery。
并且,如果之判断是否存在,使用select count(*) 就可以了
补充:.NET技术 , C#