لطفا يک کمکی به من کچل بکنين

m_ghanezadeh

New Member
--------------------------------------------------------------------------------

با سلام و خسته نباشيد
من يک مشکل در SQLServer2000 دارم .يک Table بنام Table1 با دو فيلد ID , Text دارم.
ID-->int,Primary key,Identity=Yes
Text-->varchar

من با کد زير در asp.net در ديتا بيس (LOCAL) عمل insert را انجان ميدهم:

insert into Table1(Text) values('hello world');

اما وقتی ديتا بيس را روی اينترنت ميذارم و insert ميکنم error ميده که چون ID نميتونه NULL باشه نميتونه Insert کنه ، در حاليکه ID چون Identity=yes است بايد خودش مثل Counter عمل کنه.

لطفا به من کمک کنين ، کچل شدم ... خيلی حياتيه.:sad:
 

nima_dir

Active Member
سلام دوست عزيز
خوب معلومه كه ارور ميده چون دستور اينسرت نمياد نگاه كنه كه اين فيلد اتو نامبر هست يانه.
شما يه كاري كن برو از توي جدول اخرين ركورد رو بخون بعد مقدرفيلدش ررو يكي اضافه كن بذار تو دستور اينسرتت. اگه ركوردهات شمارهاشون پشت همه و وسطشون پرش نداره ميتوني از تعداد سطرها هم كمك بگيري
موفق باشيد
 

mazoolagh

Active Member
اتفاقا" اگر کد درست باشه نباید مشکلی پیش بیاد و اصولا" استفاده از identity برای همین هست که کسی مجبور نباشه خودش دستی ID رو بسازه.

مشکل باحتمال زیاد در کد هست و ممکنه به single quote-double quote ها برگرده البته نوع اجرای دستور هم مهم است باید executenonquery باشه.
 

m_ghanezadeh

New Member
ممنون که دارين بهم کمک ميکنين.کدش اينه

کدش اينه:

[LTR]Table1(ID,Text)
ID : int ,Primary Key ,Allow Null=NO ,Identity=YES
Text : varchar(50)

Insert into Table1(Text) values:D ('Hello');[/LTR]

executenonquery هم اجرا ميکنم.
روی ديتابيس (LOCAL) جواب ميده ولی وقتی ديتابيس UPLOAD ميشه error ميده.:neutral:
 

mazoolagh

Active Member
منظور كد مربوط به ايجاد كانكشن و نحوه تعريف كامند و اجراي اون هست - معمولا وقتي ديتابيس جايي هاست ميشه بيشتر مشكلها به پرميشنها برميگرده ولي بعيد بنظر ميرسه كه پرميشن نقشي در اين ميان داشته باشه.

يك سئوال : فيلدهاي PK يا ID اصولا" نميتونن null باشن يعني allow null=no اينجا معني نداره - شما جدول رو قبلا" ساختي يا با كد ميسازي؟
 

جدیدترین ارسال ها

بالا