View Full Version : سوال: جلوگيري ازثبت داده تكراري
Iran58
چهارشنبه 25 فروردین 1389, 06:55 صبح
سلام
يك جدول داريم كه حاوي id(ايدن تيتي وكليد)،كدسناسائي،نام ونشان
حال مي خواهم باكدنويسي هرگاه كدشناسائي تكراري (هنگام insert)واردسيستم شدپيامي به من نمايش بدهدچه كدي بايداستفاده كنم
ASKaffash
چهارشنبه 25 فروردین 1389, 08:27 صبح
سلام
یک راه این است که روی فیلد کد شناسائی ایندکس یونیک بسازید و در لایه برنامه کاربردی کنترل خطا انجام دهید و پیام مناسب را نشان دهید
Iran58
چهارشنبه 25 فروردین 1389, 09:26 صبح
سلام
یک راه این است که روی فیلد کد شناسائی ایندکس یونیک بسازید و در لایه برنامه کاربردی کنترل خطا انجام دهید و پیام مناسب را نشان دهید
سلام
مي شودبايك كدبيشترتوضيح دهيد
باتشكر
zmmehrdad
چهارشنبه 25 فروردین 1389, 10:00 صبح
create table table1
(
id int,
code int unique,
name nvarchar(20),
address nvarchar(50)
, primary key (id))
ASKaffash
چهارشنبه 25 فروردین 1389, 10:04 صبح
سلام
مي شودبايك كدبيشترتوضيح دهيد
باتشكر
سلام
به چه زبانی ؟ C# ؟
var C = new SqlConnection("Data Source=.;Initial Catalog=ForTesting;Integrated Security=True");
C.Open();
try
{
var Cmd = new SqlCommand("Insert RT (A,B,C) Values(2,3,4)", C);
Cmd.CommandTimeout = 5;
Cmd.ExecuteNonQuery();
}
catch (SqlException SE)
{
if (SE.ErrorCode == -2146232060)
this.Text = "تکراری";
}
C.Close();
Iran58
چهارشنبه 25 فروردین 1389, 12:39 عصر
سلام
به چه زبانی ؟ C# ؟
var C = new SqlConnection("Data Source=.;Initial Catalog=ForTesting;Integrated Security=True");
C.Open();
try
{
var Cmd = new SqlCommand("Insert RT (A,B,C) Values(2,3,4)", C);
Cmd.CommandTimeout = 5;
Cmd.ExecuteNonQuery();
}
catch (SqlException SE)
{
if (SE.ErrorCode == -2146232060)
this.Text = "تکراری";
}
C.Close();
سلام منظورمن اينست كه آيا درخودsqlچنين دستورينميتوان نوشت؟
ASKaffash
چهارشنبه 25 فروردین 1389, 15:21 عصر
سلام
بله کنترل خطا را می توان انجام داد ولی کجا باید پیام را نشان داد ؟
Iran58
چهارشنبه 25 فروردین 1389, 15:55 عصر
سلام
بله کنترل خطا را می توان انجام داد ولی کجا باید پیام را نشان داد ؟
سلام
اگردرهمان sqlخطارابگيردوپيامي باتوجه به پيغامي كه نشان بدهد شماره تكراري مي باشددرويژوال پيامي نشان بدهدكه شماره تكراري مي باشدنه پيام خطاي كه sqlنشان مي دهد
Mazda3
چهارشنبه 25 فروردین 1389, 16:14 عصر
من از یه راه دیگه هم استفاده کرده ، تو C# اون هم اینکه کلید ثبت نهایی رو ببندید .... enble = false
روی textchange میگیم برو چک کن ببین تکراری هست یا نه ( حالا id یا هر چیز دیگه ) .....
اگه تکراری نبود enable رو true میکنیم
محمد سلیم آبادی
یک شنبه 29 فروردین 1389, 00:00 صبح
createtable table1
(
id int,
code intunique,
namenvarchar(20),
address nvarchar(50)
,primarykey(id))
در پست اول اشاره شده که، کلید اصلی جدول که id هست دارای خصیصه ی IDENTITY هم می باشد. که در این کد به آن اشاره نشده است.
ASKaffash
یک شنبه 29 فروردین 1389, 13:46 عصر
سلام
اگردرهمان sqlخطارابگيردوپيامي باتوجه به پيغامي كه نشان بدهد شماره تكراري مي باشددرويژوال پيامي نشان بدهدكه شماره تكراري مي باشدنه پيام خطاي كه sqlنشان مي دهد
سلام
نسخه SQLServer چیست ؟ 2000 یا 2005 به بالا
Iran58
یک شنبه 29 فروردین 1389, 16:39 عصر
سلام
نسخه SQLServer چیست ؟ 2000 یا 2005 به بالا
سلام
هم 2008و2005امابايدبرنامه رابا2005تحويل بدهم
باتشكر
ASKaffash
دوشنبه 30 فروردین 1389, 15:38 عصر
سلام
Begin Try
Insert RT(A,B,C)Values(1,2,3)
Select''
End Try
Begin Catch
Select N'تکراری'
End Catch
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.