高分求怎么才能验证提交数据是否重复呢呢

xinnian_123 2010-01-09 08:38:37
string connStr="server=XCH;uid=sa;pwd=;database=aaa";//定义数据库连接字符串	
SqlConnection conn=new SqlConnection(connStr); //创建连接对像
string sql = "Insert into Table1(id,admin,pwd) values ('"+TextBox1.Text+"','"+username.Text+"','"+user.Text+"') select @@identity ";
SqlCommand comm=new SqlCommand(sql,conn);//创建Command对像
conn.Open();//打开连接
object objID =comm.ExecuteScalar();
comm.CommandText = sql;
try
{
int nRet = (int)comm.ExecuteScalar();
comm.Dispose();
return;
}
catch(Exception ex)
{
Console.WriteLine("-------------------IsRecordExist_Error-------------------)");
Console.WriteLine("IsRecordExist_Error_({0})", sql);
Console.WriteLine("{0}, {1})", ex.GetType().ToString(), ex.Message);
}
Response.Write(objID.ToString());
Response.Write("<script language=javascript>alert('操作成功');window.location.href=window.location.href;</script>");
//关闭数据库
conn.Close();
点击提交按钮后 怎么才能判断我提交的内容在数据表中有无重复呢
...全文
132 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinnian_123 2010-01-10
  • 打赏
  • 举报
回复
不行啊 高手们帮帮忙吧 加分
yingyuebingya 2010-01-10
  • 打赏
  • 举报
回复
alter table Table1
add constraint UQ_Table1_admin unique (admin)

alter table Table1
add constraint UQ_Table1_pwd unique (pwd)

在数据库中执行上面两句SQL语句,试试看
xinnian_123 2010-01-10
  • 打赏
  • 举报
回复
string connStr="server=WWW-EA89185F163;uid=sa;pwd=;database=YWX";//定义数据库连接字符串	
SqlConnection conn=new SqlConnection(connStr); //创建连接对像
string sql = "Insert into Table1(id,admin,pwd) values ('"+TextBox1.Text+"','"+username.Text+"','"+user.Text+"') select @@identity ";
SqlCommand comm=new SqlCommand(sql,conn);//创建Command对像
conn.Open();//打开连接
object objID =comm.ExecuteScalar();

Response.Write(objID.ToString());
Response.Write("<script language=javascript>alert('操作成功');window.location.href=window.location.href;</script>");

//关闭数据库
conn.Close();

谁帮我改改吧 我设置了主键id
xinnian_123 2010-01-10
  • 打赏
  • 举报
回复
我设置主键了 还是不行
andrewsway 2010-01-09
  • 打赏
  • 举报
回复
建个唯一约束就可以了,不过用异常处理来判断程序逻辑确实不是一个好办法
boss5518831534_ 2010-01-09
  • 打赏
  • 举报
回复
设置主键
xinnian_123 2010-01-09
  • 打赏
  • 举报
回复
我 头 都大 了
xinnian_123 2010-01-09
  • 打赏
  • 举报
回复
我是要在3个textbox中输入添加的信息 要求只要有一个textbox中的数据与表中的数据重复就提示有相同的
这么写对么
string connStr="server=WWW-EA89185F163;uid=sa;pwd=;database=YWX";//定义数据库连接字符串	
SqlConnection conn=new SqlConnection(connStr); //创建连接对像
string sql = "Insert into Table1(id,admin,pwd) values ('"+TextBox1.Text+"','"+username.Text+"','"+user.Text+"') select @@identity ";
SqlCommand comm=new SqlCommand(sql,conn);//创建Command对像
conn.Open();//打开连接
object objID =comm.ExecuteScalar();
comm.CommandText = sql;
try
{
int nRet = (int)comm.ExecuteScalar();
comm.Dispose();
return;
}
catch(Exception ex)
{
Console.WriteLine("-------------------IsRecordExist_Error-------------------)");
Console.WriteLine("IsRecordExist_Error_({0})", sql);
Console.WriteLine("{0}, {1})", ex.GetType().ToString(), ex.Message);
Response.Write(" 有相同的!!!");
}
Response.Write(objID.ToString());
Response.Write("<script language=javascript>alert('操作成功');window.location.href=window.location.href;</script>");

//关闭数据库
conn.Close();
SQL77 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xinnian_123 的回复:]
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Table1' 中的标识列插入显式值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Table1' 中的标识列插入显式值。

源错误:


行 60: SqlCommand comm=new SqlCommand(sql,conn);//创建Command对像
行 61: conn.Open();//打开连接
行 62: object objID =comm.ExecuteScalar();
行 63:     comm.CommandText = sql;
行 64: try


源文件: c:\inetpub\wwwroot\webapplication10\tianjia.aspx.cs    行: 62

[/Quote]
因为你的数据表中自增列,你不能显示插入,除非你执行
SET IDENTITY_INSERT ON
SQL插入语句
xinnian_123 2010-01-09
  • 打赏
  • 举报
回复
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Table1' 中的标识列插入显式值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Table1' 中的标识列插入显式值。

源错误:


行 60: SqlCommand comm=new SqlCommand(sql,conn);//创建Command对像
行 61: conn.Open();//打开连接
行 62: object objID =comm.ExecuteScalar();
行 63: comm.CommandText = sql;
行 64: try


源文件: c:\inetpub\wwwroot\webapplication10\tianjia.aspx.cs 行: 62
koukoujiayi 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xinnian_123 的回复:]
受累写个完整的好么
[/Quote]
你代码写的很完整了!!
唯一要做的是数据库的设置,你希望哪个字段或哪几个字段不能重复??就设置为唯一索引!!
SQL77 2010-01-09
  • 打赏
  • 举报
回复
点击提交按钮后 怎么才能判断我提交的内容在数据表中有无重复呢


INSERT INTO TB SELECT * FROM TB T
WHERE NOT EXISTS(SELECT 1 FROM TB WHERE ID=T.ID)


类似这样写就行
xinnian_123 2010-01-09
  • 打赏
  • 举报
回复
受累写个完整的好么
koukoujiayi 2010-01-09
  • 打赏
  • 举报
回复
你的程序在catch中,就可以Response.Write(..... 有相同的!!!.....);
当然前提是你设置了唯一索引(对某一字段)
koukoujiayi 2010-01-09
  • 打赏
  • 举报
回复
如果希望输入的姓名不重复,一般设置这个姓名字段为唯一索引,
在进行插入时,有相同的姓名,数据库会出错,程序通过try/catch捕获这个错误,
提醒用户!!

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧