【发布时间】:2009-09-07 10:59:05
【问题描述】:
假设我有一个包含两个字段的“dom”表
- 代码
- 姓名
代码应该是主键。如果我输入值('SD','domnic') 然后如果我输入 ('SD', 'domnic1') 在 asp.net 中我写了验证,所以我可以收到警报消息。
protected void ButtonSave_Click(object sender, EventArgs e)
{
try
{
if (Mode == "Add")
{
primarykeyValidation();-------------->validation
if (strpkval == TextBoxWorkshopid.Text)
{
Alert.Show("code Already Exists");
TextBoxWorkshopid.Text = string.Empty;
TextBoxWorkshopid.Focus();
return;
}
}
...
public void primarykeyValidation()
{
DataSet dspkval = new DataSet();
try
{
objaccess.Option = "P";
objaccess.code= TextBoxWorkshopid.Text;
dspkval = objaccess.retriveOutsideWorkshops();
if (dspkval != null && dspkval.Tables.Count != 0 && dspkval.Tables[0].Rows.Count != 0)
{
strpkval = dspkval.Tables[0].Rows[0]["CODE"].ToString();
}
}
catch (System.Exception ex)
{
throw ex;
}
}
如果我输入('sd','domnic'),它不会显示消息,只是由于违反主键而引发的错误。
在“P”选项中,我将查询写为
select code from xxx where code=@code
所以如果我输入 small case'sd' 那么我应该收到警告消息“代码 aleady 退出但它不会显示 留言…………
【问题讨论】:
标签: asp.net database primary-key