在浏览器中运行就出错了,数据库中我已经把主键撤销了!
我只会用这种方法向数据库中插入数据····
string conn = "server=PC-201005131654;database=Project;user id=sa;pwd=123";
using (SqlConnection cn = new SqlConnection(conn))
{ cn.Open();
string strsql = "insert into tea_table (tea_id,tea_name,tea_sex,tea_level,tea_telephone,tea_speciality,tea_password,tea_memo) values('" + tbID.Text + "','" + tbNAME.Text + "','"+Sexid.SelectedItem.Text +"','" + ddlLEVEL.SelectedItem.Text + "','" + tbTELEPHONE.Text + "','" + tbSPECIALITY.Text+ "','" + tbPASSWORD.Text + "','" + tbMEMO.Text + "')";
SqlCommand cmd = new SqlCommand(strsql, cn);
SqlDataReader rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);}
以上是我的插入数据库语句
出错信息:违反了 PRIMARY KEY 约束 'PK_user_table'。不能在对象 'user_table' 中插入重复键。
语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 违反了 PRIMARY KEY 约束 'PK_user_table'。不能在对象 'user_table' 中插入重复键。
语句已终止。源错误:
行 35: string strsql = "insert into tea_table(tea_id,tea_name,tea_sex,tea_level,tea_telephone,tea_speciality,tea_password,tea_memo) values('" + tbID.Text + "','" + tbNAME.Text + "','"+Sexid.SelectedItem.Text +"','" + ddlLEVEL.SelectedItem.Text + "','" + tbTELEPHONE.Text + "','" + tbSPECIALITY.Text+ "','" + tbPASSWORD.Text + "','" + tbMEMO.Text + "')";
行 36: SqlCommand cmd = new SqlCommand(strsql, cn);
行 37: SqlDataReader rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
行 38:
行 39: /* if (rd.HasRows && rd.Read())
源文件: e:\WebSite3\control\register.ascx.cs 行: 37 堆栈跟踪:
[SqlException (0x80131904): 违反了 PRIMARY KEY 约束 'PK_user_table'。不能在对象 'user_table' 中插入重复键。
语句已终止。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +177
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +68
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2300
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +294
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1021
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +314
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +20
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +107
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +59
control_register.studentadd() in e:\WebSite3\control\register.ascx.cs:37
control_register.Page_Load(Object sender, EventArgs e) in e:\WebSite3\control\register.ascx.cs:22
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3743 在这给表中有触发器,同时把数据插入另一个表中,并且包括tea_id 。
这到底是怎么回事···
我只会用这种方法向数据库中插入数据····
string conn = "server=PC-201005131654;database=Project;user id=sa;pwd=123";
using (SqlConnection cn = new SqlConnection(conn))
{ cn.Open();
string strsql = "insert into tea_table (tea_id,tea_name,tea_sex,tea_level,tea_telephone,tea_speciality,tea_password,tea_memo) values('" + tbID.Text + "','" + tbNAME.Text + "','"+Sexid.SelectedItem.Text +"','" + ddlLEVEL.SelectedItem.Text + "','" + tbTELEPHONE.Text + "','" + tbSPECIALITY.Text+ "','" + tbPASSWORD.Text + "','" + tbMEMO.Text + "')";
SqlCommand cmd = new SqlCommand(strsql, cn);
SqlDataReader rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);}
以上是我的插入数据库语句
出错信息:违反了 PRIMARY KEY 约束 'PK_user_table'。不能在对象 'user_table' 中插入重复键。
语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 违反了 PRIMARY KEY 约束 'PK_user_table'。不能在对象 'user_table' 中插入重复键。
语句已终止。源错误:
行 35: string strsql = "insert into tea_table(tea_id,tea_name,tea_sex,tea_level,tea_telephone,tea_speciality,tea_password,tea_memo) values('" + tbID.Text + "','" + tbNAME.Text + "','"+Sexid.SelectedItem.Text +"','" + ddlLEVEL.SelectedItem.Text + "','" + tbTELEPHONE.Text + "','" + tbSPECIALITY.Text+ "','" + tbPASSWORD.Text + "','" + tbMEMO.Text + "')";
行 36: SqlCommand cmd = new SqlCommand(strsql, cn);
行 37: SqlDataReader rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
行 38:
行 39: /* if (rd.HasRows && rd.Read())
源文件: e:\WebSite3\control\register.ascx.cs 行: 37 堆栈跟踪:
[SqlException (0x80131904): 违反了 PRIMARY KEY 约束 'PK_user_table'。不能在对象 'user_table' 中插入重复键。
语句已终止。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +177
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +68
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2300
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +294
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1021
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +314
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +20
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +107
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +59
control_register.studentadd() in e:\WebSite3\control\register.ascx.cs:37
control_register.Page_Load(Object sender, EventArgs e) in e:\WebSite3\control\register.ascx.cs:22
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3743 在这给表中有触发器,同时把数据插入另一个表中,并且包括tea_id 。
这到底是怎么回事···
解决方案 »
- ASP.NET网页的GridView1控件怎么改变单元格的颜色呢?
- 如何取得硬盘序列号
- VS2008中c#和c++工程的区别
- 请教水晶报表push,pull模式问题,UP有分,不够再加!
- adventNet .net 版本,解析mib库的时候,中文描述为乱码?
- 朋友给写了个自动发送邮件的代码可我是我看不懂请教各位高手,请给详细说明不慎感激
- 请教:如何用代码打开被隐藏了URL的下一个网页
- 请问在.net remoting中如何从服务器端取得被客户端激活的对象的状态信息?
- c#编程的问题,一个名称空间有多个类public的问题?(高手解答)
- 高薪诚聘 C# 程序员
- 关于图像的旋转
- Response.Redirect重导向问题
取消主键
if exists(select * from tablename where id=@id)
update tablename set ...
else
insert into tablename ...
楼主删除后有没有 ctrt + s 保存呀?保存后有没有刷新呢?
可以试试
tea_table 的 for insert 向'user_table' 表中插入的语句可以改为以上 Wuyq11: 所述,先判断向'user_table' 主键是否存在再进行插入. 或;暂时屏蔽掉 触发器进行测试,看看是否报其它错误
create procedure InsertData
@tea_id,
@tea_name,
@tea_sex,
@tea_level,
@tea_telephone,
@tea_speciality,
@tea_password,
@tea_memo
as
select * from tablename where tea_id=@tea_id;
insert into tea_table (tea_id,tea_name,tea_sex,tea_level,tea_telephone,tea_speciality,
tea_password,tea_memo) values('" + @tea_id+ "','" + @tea_name+ "','"+@tea_sex+"','" + @tea_level+ "','" + @tea_telephone + "','" + @tea_speciality+ "','" + @tea_password + "','" + @tea_memo + "')
go置于判断tea_id是否存在和条用存储过程自己会吧
for INSERT
ASinsert user_table
select tea_id,tea_level,tea_password
from inserted我的C#插入语句有问题··插入一条数据,结果发现表中除了我插入的具体数据还有一条空数据!
但是不知道哪里出错了呢