写了个判断数据库是否存在记录的函数,可是总出错。原程序如下:
都是基础不全面才会出现这样的笑话。
public bool CheckBaseUsed(string table,string fieldname,int fieldvalue)
{
SqlConnection cn =new SqlConnection(Properties.Settings.Default.bdtcConnectionString);
string sqlstr = "Select " + fieldname + " from " + table + " Where " + fieldname + " = " + fieldvalue;
SqlCommand cmd = new SqlCommand(sqlstr, cn);
int ResultI = 0;
try
{
cn.Open();
ResultI = cmd.ExecuteNonQuery(); //错误在这里,ExecuteNonQuery()不能执行Select。
cn.Close();
if (ResultI > 0)
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
为此还写了一个求助,在论坛中:http://topic.youkuaiyun.com/u/20120723/20/42249fcc-83d2-41d6-9355-77f41d48fd0d.html?1509904483
结果别人指出了问题。重新修改后的程序如下:
public bool CheckBaseUsed(string table,string fieldname,int fieldvalue)
{
SqlConnection cn =new SqlConnection(Properties.Settings.Default.bdtcConnectionString);
string sqlstr = "Select " + fieldname + " from " + table + " Where " + fieldname + " = " + fieldvalue;
SqlCommand cmd = new SqlCommand(sqlstr, cn);
try
{
cn.Open();
object my = cmd.ExecuteScalar(); //修改成这样
cn.Close();
if (object.Equals(my,null))
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
都是基础不全面才会出现这样的笑话。
人家也推荐了一篇比较全面的基础知识点:
http://www.cnblogs.com/yangcaogui/archive/2012/06/09/2537086.html