大家过年好!我问一个关于数据库处理的问题,请问解决表的主键冲突的错误用什么方式最好? to xjwxiong(xjw) :资料库是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请问hmjwdmh(无为) :存储过程能正确返回是主键值冲突的错误吗?你的意思是不是用存储过程来处理数据,然后用触发器来返回是否已经有存在的记录呢? 1。采用identity型主键2。主键使用GUID 使用try{ // 执行SqlCommand ....}catch(SqlException ex){ // 根据ex中的errors可number进行错误判断 // 这些错误号具体的含义可参考SQL Server帮助 // 可以自己编写一个过程根据不同的错误原因进行不同的处理 switch(ex.number) { case 8629: ... }}catch{ // 非SqlException的处理} 这个好象不太可能吧。如果执行中产生了多个错误的话,Number返回的好象是最后的错误号,但在errors中存储有所有的错误信息,你如果要严格分析的话,可以仔细分析errors。 麻烦问下.NET动态生成控件的问题 C# WINFROM进度条问题 C#负数问题 父类对象可以赋给子类中? dataGridView方面的问题 新手请教,关于些数学方面的编程公式,请高手赐教(1) 最近遇到的一个问题 关于 float (VS2003) Socket.EndReceive的问题 无法加载 C# 操作大xml文件(200M),进行节点删除,有没有比较高效的办法 如何存储Text(16)类型的字段 这样不行吗????
你的意思是不是用存储过程来处理数据,然后用触发器来返回是否已经有存在的记录呢?
2。主键使用GUID
try
{
// 执行SqlCommand
....
}
catch(SqlException ex)
{
// 根据ex中的errors可number进行错误判断
// 这些错误号具体的含义可参考SQL Server帮助
// 可以自己编写一个过程根据不同的错误原因进行不同的处理
switch(ex.number)
{
case 8629: ...
}
}
catch
{
// 非SqlException的处理
}