string sqlstr = "insert tbl_zblei select max(lei_bh)+1,'" + this.TextBox1.Text + "' from tbl_zblei";
我现在数据库是这样的:
id lei_bh lei_mc
1 1001 交通工具
2 1002 通讯工具
3 1003 计算机及配套设备
4 1004 管理器材
5 1005 勘察取证器材
6 1006 警械
7 1007 防护器材如果我前台页面TextBox1.Text在输入防护器材,它就会提示,已有此字段,请从新输入,改怎么写?
我现在数据库是这样的:
id lei_bh lei_mc
1 1001 交通工具
2 1002 通讯工具
3 1003 计算机及配套设备
4 1004 管理器材
5 1005 勘察取证器材
6 1006 警械
7 1007 防护器材如果我前台页面TextBox1.Text在输入防护器材,它就会提示,已有此字段,请从新输入,改怎么写?
没有就插入
if (sqlstr0 == this.TextBox1.Text)
{
AjaxAlert(Page, "数据库已有此类别!");
}
这样写不行呀,不往if里进呀,应该怎么写呢?我新手,谢谢大家
这个就行
string sqlstr0 = "select lei_mc from tbl_zblei";
DataSet ds = db.GetDS(sqlstr0);
if (ds.Tables[0].Rows[0]["lei_mc"].ToString() == this.TextBox1.Text)
{
AjaxAlert(Page, "数据库已有此类别!");
}我现在目前已经写成这样了,不过这样的话只是数据库第一行有效。也就是说只有我输入交通工具的时候它才会提示我数据库已有此类别! 该怎么写啊?
string _Table = "tbl_zblei";
string _Field = "lei_mc";
string _Value = this.TextBox1.Text;
string _Sql = "SET @Count = ISNULL((SELECT COUNT(1) FROM ["
+ _Table + "] WHERE ["
+ _Field + "] = @Value;";
string _ConnStr = "";//这里写入你的数据库连接
using(SqlConnection _Conn = new SqlConnection(ConnStr)) {
SqlCommand _cmd = new SqlCommand(pSqlString, _Conn);
_cmd.CommandType = CommandType.Text;
_cmd.CommandText = _Sql;
_SqlParam = new SqlParameter();
_SqlParam.Direction = ParameterDirection.InputOutput;
_SqlParam.ParameterName = "@Count";
_SqlParam.DbType = DbType.Int64;
_SqlParam.Value = 0;
_cmd.Parameters.Add(_SqlParam);
_cmd.Parameters.Add(new SqlParameter("@Value",_Value));
_cmd.ExecuteNonQuery()
int _Count = _cmd.Parameters[0].Value;
}大概就是这个意思,没有测试,你整理封装成函数就可以了
DataSet ds = db.GetDS(sqlstr0);
for (int i = 0; i < ds.Tables.Count; i++)
{
if (ds.Tables[0].Rows[i]["lei_mc"].ToString() == this.TextBox1.Text)
{
AjaxAlert(Page, "数据库已有此类别!");
}
else
{
string sqlstr = "insert tbl_zblei select max(lei_bh)+1,'" + this.TextBox1.Text + "' from tbl_zblei";
SqlDataReader dr = db.GetDR(sqlstr);
AjaxAlert(Page, "添加成功!");
BindDDL();
}
}
后面使用try catch进行捕捉异常就行
如果这个不满意的话就是用AJAX 在textChange事件中实现 或者鼠标离开事件
可以用存储过程实现
if not exists (select count(1) from tbl_zblei where lei_mc='参数')
begin
insert into tbl_zble values(值)
end
string _Sql = "SET @Count = ISNULL((SELECT COUNT(1) FROM ["
+ _Table + "] WHERE ["
+ _Field + "] = @Value),0);";
执行一条Sql去查询符合条件的记录有几条,而不是查询数据集我14楼给出了通用代码,以后类似的情况不管是什么表什么端,用着一个方法就行了