设置了主键
Dim tb1 As DataTable = das.Tables("book")
tb1.PrimaryKey = New DataColumn() {tb1.Columns("uid")}
程序上已经实现了Datagrid显示的内容唯一
但是我想在用户输入的时候给他提示说“此编号已存在”
大概像这样子
If TextBox1.Text =????? Then
Label2.Text = "此编号已存在"
Else
cmd.Parameters.Add("@uid", SqlDbType.Char).Value = Me.TextBox1.Text.Trim
End If
Dim tb1 As DataTable = das.Tables("book")
tb1.PrimaryKey = New DataColumn() {tb1.Columns("uid")}
程序上已经实现了Datagrid显示的内容唯一
但是我想在用户输入的时候给他提示说“此编号已存在”
大概像这样子
If TextBox1.Text =????? Then
Label2.Text = "此编号已存在"
Else
cmd.Parameters.Add("@uid", SqlDbType.Char).Value = Me.TextBox1.Text.Trim
End If
解决方案 »
- 求教,导航栏样式问题。
- 实现跳转链接,选择人员功能!
- 看青鸟视频,遇到的问题checkboxlist
- oracle数据库中的clob字段到底怎么更新
- 服务器经常反应迟钝需要重启,请大侠看看下面的代码如何优化?
- 急!数据库问题,请高手指教,谢谢!
- 没有分了,高手帮帮忙吧
- 把数据输出到excel时,如何定义Excel的格式?如字体大小,颜色等(在线等,100%的结贴率!!!)
- 请问一个dropdownlist项的顺序问题。
- asp.net中的treeview控件的使用?
- ASP和ASP.NET部署在同一个服务器的Web空间中,会不会出现问题?????
- 兄弟们,麻烦帮我配一台服务器啊!!推荐一下!!顶着有分
select 1 from tablename where uid=用户输入的uid
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim cnn As SqlConnection
Dim cmd As SqlCommand
cnn = New SqlConnection("user id=sa;database=address;data source=localhost")
cnn.Open()
cmd = New SqlCommand("insert into adbook ( uid,name,dep,tel,nx,pho,fax,web,bz) values(@uid,@name,@dep,@tel,@nx,@pho,@fax,@web,@bz)", cnn)
cmd.Parameters.Add("@dep", SqlDbType.Char).Value = Me.TextBox3.Text.Trim
If TextBox1.Text = "" Or TextBox2.Text = "" Then
Label2.Text = "员工编号和姓名不能为空"
Me.Panel1.Visible = True
Else
cmd.Parameters.Add("@uid", SqlDbType.Char).Value = Me.TextBox1.Text.Trim
cmd.Parameters.Add("@name", SqlDbType.Char).Value = Me.TextBox2.Text.Trim
End If
cmd.Parameters.Add("@tel", SqlDbType.Char).Value = Me.TextBox4.Text.Trim
cmd.Parameters.Add("@nx", SqlDbType.Char).Value = Me.TextBox5.Text.Trim
cmd.Parameters.Add("@pho", SqlDbType.Char).Value = Me.TextBox6.Text.Trim
cmd.Parameters.Add("@fax", SqlDbType.Char).Value = Me.TextBox7.Text.Trim
cmd.Parameters.Add("@web", SqlDbType.Bit).Value = Checkbox2.Checked
cmd.Parameters.Add("@bz", SqlDbType.Char).Value = Me.TextBox8.Text.Trim
cmd.ExecuteNonQuery()
cnn.Close()
Catch ex As Exception End Try loadgrid()
End Sub
cmd.ExecuteNonQuery()
cnn.Close()前任何地方加入一个构造sql语句select count(0) from tablename where uid=用户输入的uid ,然后执行这个sql语句看看执行结果是否》0;如果是则不执行插入
出现异常不一定是数据重复了,可能是sql语句构造错误了,这样简单的是不行的
cnn.Close()中间加
Dim cmm As SqlCommand
cmm = New SqlCommand("select count(0) from myweb where (uid2=@uid2)", cnn)
cmm.Parameters.Add("@uid", SqlDbType.Char).Value = Me.TextBox1.Text.Trim
cmm.ExecuteNonQuery()
If cmm.ExecuteNonQuery > 0 Then
Label2.Text = "此编号已存在"
End If
根本不起作用
你知道excutenonquery和excutescalar的区别么?lz你自己要动脑筋思考,“执行这个sql语句看看执行结果”是要你得到执行sql以后能得到这个uid记录的数目!不是你那样的,而且对于select,excutenonquery没有实际意义!
Label2.Text = "此编号已存在"
这样子吗,我根本都不懂这些,只懂用过的,我学程序到现在还不到两个月,之前是完全不懂,现在是东抄抄西抄抄
那里换下面DataReader dr=cmm.ExecuteReader();
if(dr.Read())
{
Label2.Text = "此编号已存在"}
dr.close();
也就是写在
pirvate textbox1_TextChange(object sender,System.EventArgs e) //里进行判断呢? ..
string my_sql="select * from xxx where id=@id"; //也可以是count(*)等等 ....
if(myRead.Read())
{
//已存在
}
。