string s2= textBox1.Text.Replace(" ", "");
string connectionString = "Data Source=it-bak;Initial Catalog=nxhtest;Persist Security Info=True;User ID=sa;Password=123456;";
/////////////////////////
string selectstr = "select USER_ID from account where USER_ID = '" + s2 + "' "; ;
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(selectstr, conn);
conn.Open();
int row = 0;
row = Convert.ToInt32(command.ExecuteScalar());
if (row <= 0)
{
MessageBox.Show("可以进行新增操作!");
}
else
{
MessageBox.Show("该ID已经被注册,请修改你的注册ID!");
}
}
上一段小程序是作一个表插入操作前的条件检测——要求新增的ID不要与已有的ID重复,应该非常简单。但是实际执行的时候出现了这么情况:1、若查询对应 textBox1里面输入的是纯数字,都正常。2、若输入的是字母就有两种情况。一种是若输入的字符串是表中没有的,执行正常,逻辑判断也正常,提示"可以进行新增操作!"。但若是输入的字符串是表中已存在的,结果程序调试的时候执行command.ExecuteScalar()出错——“{"输入字符串的格式不正确。"},很懵!初尝试C#,没想到这么绕人。期间尝试改用参数传递,也是这样,这是什么鬼? 数据库基表对应字段类型为nchar.求指点!