我做的公司管理系统,在向数据库中添加职工信息时,职工号不能相同,如何判断数据库中是否已经存在这个职工号,有时返回真,没返回假!!急急急急急急急!!!!!!
选定一个列,比如职工号列
ele_no = 'xxxxxxxx';
//查询此职工号是否存在
SqlCommand mycmd = new SqlCommand("select 职工号 from table where 职工号='"+ele_no+"'", mycon);
SqlDataReader mysdr = mycmd.ExecuteReader();
if (mysdr.HasRows){
//已经有记录使用此编号
}else{
//此编号未被使用
}
mysdr.Close();
mycon.Close();
扩展资料:
c#操作数据库:
1、下载mysql.Data.dll,在解决方案->引用中引入,并在文件头部引入。
using MySql.Data.MySqlClient;
2、创建MySqlConnection对象(链接库)。
string connstr = "data source=localhost;database=cs_test;user id=root;password=123456;pooling=false;charset=utf8";
MySqlConnection conn = new MySqlConnection(connstr);
pooling代表是否使用连接池
3、创建对应操作的MySqlCommand对象(测试数据库表名characters,属性列:id,names,passwords)。
string sql = "select * from characters";
MySqlCommand cmd = new MySqlCommand(sql,conn);
4、针对不同操作,MySqlCommand对象有三个常用方法。
查找多行 : ExecuteReader()方法
返回一个MysqlDataReader对象,包含多个行,用其Read方法逐行读取。
对于每行元素,可以用getXXX()方法读取属性值,XXX为该属性类型,参数为属性名或者该属性为这张表的第几列。
可以用IsDBNull()方法判断是否为空,参数只能是该属性为这张表的第几列(即只能是数字)
查找单个: ExecuteScalar()
返回值为查找到的元祖第一个属性,以object类型返回。
增、删、改: ExecuteNonQuery()
返回值为int,不成功是0,成功是1。