PDA

View Full Version : سوال: اضافه نشدن رکورد به database



mahan.2002
چهارشنبه 26 بهمن 1390, 07:53 صبح
با سلام
من این کدو مینویسم اجرا هم میشه ولی هیچ رکوردی اضافه نمیشه.
مشکلش چیه.

string strcn = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database1.mdf;"+
"Integrated Security=True;User Instance=True";
string strins;
SqlConnection cn = new SqlConnection(strcn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
strins = "INSERT INTO sbani (Id,Name,Family,Tel) Values " + "(1000,'" +
textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')";

cmd.CommandText= strins;
label5.Text = strins;

cn.Open();
cmd.ExecuteNonQuery();
cn.Close();

Sirwan Afifi
چهارشنبه 26 بهمن 1390, 08:37 صبح
دوست عزیز من کد شما رو تست کردم مشکلی نداره.

Hybrid
چهارشنبه 26 بهمن 1390, 08:43 صبح
سلام دوست عزیز ، امیدوارم حالت خوب باشه ... کدها بد کپی شدن خطایابیش سخت شده ... ولی یک سوال اون فیلد id داخل جدولتون از نوع AutoNumber هست ؟؟ اگه از نوع Autonumber چرا مقدار ثابت 1000 رو به ازای درج هر رکورد بهش دادین؟؟؟ اگه میشه عکسی از خطا رو بزارین یا کدها رو داخل تگ های Code بزارین .... درضمن اینجوری دستورات SQL رو ننویس چون خطایابیش سخت میشه ، به صورت پارامتری بنویس به تکه کد زیر توجه کن :


SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into sbani(id,name,family,tel) values (@name,@family,@tel)";
cmd.Parameters.AddWithValue("@name", textBox1.Text.Trim());
cmd.Parameters.AddWithValue("@family", textBox2.Text.Trim());
cmd.Parameters.AddWithValue("@tel", textBox3.Text.Trim());

سوالی داشتین بپرسین.

موفق باشید./

crazy_1892
چهارشنبه 26 بهمن 1390, 08:45 صبح
دوست عزیز خاصیت بر روی دیتا بیس کلیک راست کن در properties خاصیت copy to output Directory را برار کن با copy if newer

mahan.2002
چهارشنبه 26 بهمن 1390, 09:33 صبح
ممنون از دوستانی که راهنمایی کردن
من کد اصلاح کردم. در ضمن خاصیت copy to output Directory تغییر دادم. از روش بالا هم رفتم.
ولی باز نشد... بنظرم کد مشکلی نداره فکر میکنم مشکل دیگه ای داشته باشه ..

zarrinnegar
چهارشنبه 26 بهمن 1390, 10:11 صبح
دوست عزیز
اطلاعات شما زمان اجرا درست کار میکنه ولی بعدش که برنانمه رو میبندید ، اطلاعات توی بانک نمیشینه؟
یا اینکه اصلا زمان اجرا هم اطلاعات ثبت نمیشه و همون موقع هم دیده نمیشه؟

اگر حالت اول باشه برنام مشکلی نداره
باید exe برنامه رو اجرا کنی تا توی دیتابیس ذخیره بشه

mahan.2002
چهارشنبه 26 بهمن 1390, 10:36 صبح
من از حالت اجرایی هم اجرا کردم فرقی نداشته ( یعنی VS هم بستم و رفتم فایل اجرایش اجرا کردم ولی باز اطلاعاتی ثبت نشده )

در ضمن دیتا بیس هم داخل VS ساختم ( داخل Sql server نساختم )

یه عکسم زمان اجرا میزارم از متنی رشته ای که به SqlCommand ریخته میشه

Hybrid
چهارشنبه 26 بهمن 1390, 11:30 صبح
سلام ،

من خیلی به این فیلد ای دی شما شک دارم که فقط مقدار ثابت 1000 رو بهش میدی ، اگه امکان داره پروژتون رو بزارین اینجا.

mahan.2002
چهارشنبه 26 بهمن 1390, 12:43 عصر
با سلام دوباره
من پروژه رو میزارم
در توضیح : این یه پروژه صندوق قرض الحسنه است.

لینک (http://wdl.persiangig.com/pages/download/?dl=http://iran5.persiangig.com/new_Project/DataGhRzALHasane%201.rar)

Hybrid
چهارشنبه 26 بهمن 1390, 13:11 عصر
سلام ، این تغییرات رو اعمال کن ببین درست میشه :

1) فیلد id از بانکت رو برابر Primary قرار بده.

2 ) بیا خصوصیت is Identity از فیلد رو برابر True قرار بده ( این خصوصیت این فیلد رو از نوع AutoNumber قرار میده)

3)دستورات SQL مربوط به insert رو تغییر بده.

به شکل های زیر دقت کن :

http://up98.org/upload/server1/02/a/5v5e1ii61jy56yh7qfyi.jpg
http://up98.org/upload/server1/02/a/my8yd336muhj7lznr6u.jpg
http://up98.org/upload/server1/02/a/quxcu0z7tff142rnn2xm.jpg
http://up98.org/upload/server1/02/a/i9vmp3az9mmjeh5j3u7v.jpg

احتمالا دیگه مشکلی نباشه.

موفق باشید./

mahan.2002
پنج شنبه 27 بهمن 1390, 00:33 صبح
من کلید اصلی تعریف کردم کد هم تغییر دادم ولی باز هم چیزی در جدول اضافه نشود

در ضمن خاصیت is Identity اصلا روی فیلد Id وجود نداره ...

Hybrid
پنج شنبه 27 بهمن 1390, 00:40 صبح
به شکلی که واستون در پست قبلی قرار دادم خوب دقت کنین :

خصوصیت is identity در زیر مجموعه خصوصیت identity specification قرار داره.

Hybrid
پنج شنبه 27 بهمن 1390, 00:50 صبح
من همین الان یک رکورد رو در بانکتون ثبت کردم احتمالا مشکل از Connectionstring شما هست ، یه بار دیگه چکش کنین و تغییرات لازم رو بهش بدین

http://up98.org/upload/server1/02/a/ahswchpzjjeruwkfxs0d.jpg

موفق باشید./

mahan.2002
پنج شنبه 27 بهمن 1390, 00:50 صبح
به شکلی که واستون در پست قبلی قرار دادم خوب دقت کنین :

خصوصیت is identity در زیر مجموعه خصوصیت identity specification قرار داره.

نگاه کردم . ولی نبود . { پروژه رو شما دانلود کردید }

mahan.2002
پنج شنبه 27 بهمن 1390, 00:57 صبح
میتونید پروژه رو آپلود کنید ... بزارید.
شاید Connectionstring باشه من چیزی که به فکرم میرسه اینکه شاید چون من پروژه های قبلی هم دیتا بیس داشته... شاید چون دیتابیس هم نام اون ها هست شاید اشکال پیش امده!! امکانش هست!؟

Hybrid
پنج شنبه 27 بهمن 1390, 01:03 صبح
میدونین اشکال شما چیه : شما دارین اطلاعات رو داخل یه بانک ذخیره میکنین ولی یک بانک دیگه رو برای نمایش به برنامه معرفی کردین !!!! شما یه بانک رو داخل پوشه دیباگ دارین که اطلاعات رو داخل اون ذخیره میکنین ولی یک بانک دیگه رو که به برنامه معرفی میکنین هیچی داخلش نیست به خاطر همینه که هیچی رو نشون نمیده!!! به شکل های زیر دقت کن :

http://up98.org/upload/server1/02/a/z2w8gtfxw7gitqomxl0k.jpg
http://up98.org/upload/server1/02/a/dxiqb78czpl4uiqfjs8g.jpg

موفق باشید/.

mahan.2002
پنج شنبه 27 بهمن 1390, 01:15 صبح
من رشته کانکشن استرینگ از حالت ویزاری گرفتم . بنظر شما باید چیکار کنم.
بعد خب این برنامه اجرا میشه خب یعنی من داخل یک دیتا بیس دیگه جدولی با این نام و همچنین دقیقا شبیه به همین فیلد ها این دارم! فکر نمیکنم اخه جدولی به این نام باشه اصلان داخل سیستمم.
البته خودمم این متوجه این شباهت شدم یعنی ادرس های که در کانکشن استیرینگ های این پروژه هست پروژهای دیگه است ...
پیشنهاد شما چیه ؟

Hybrid
پنج شنبه 27 بهمن 1390, 01:22 صبح
راه حل :

1 ) همین Database رو که در Solution Explorer میبینی حذف کن.

http://up98.org/upload/server1/02/a/zi5x62wfavkniltf8ghk.jpg

2 ) بانک موجود در پوشه دیباگ نرم افزارتون رو به برنامه از طریق ویزاردی معرفی کنین.

3 ) تغییراتی که در پست قبلی براتون گفتم رو اعمال کنین(( identity و primary و تغییر در دستور SQL )) .

100 درصد مشکل حل میشه.

majidrezaei2007
پنج شنبه 27 بهمن 1390, 10:36 صبح
سلام . احتمالا رکورد ذخیره میشه ، منتها در یک فایل دیگه که شما اونو نگاه نمی کنید . همون فیلد آی دی رو کلید کنید . بعد دوبار کد رو اجرا کنید . اگه خطا داد که رکورد در بار اول اضافه شده ولی اگه خطا نداد معلومه که کلا اضافه نشده .

kamran749
سه شنبه 29 دی 1394, 09:58 صبح
با سلام دوباره
من پروژه رو میزارم
در توضیح : این یه پروژه صندوق قرض الحسنه است.

لینک (http://wdl.persiangig.com/pages/download/?dl=http://iran5.persiangig.com/new_Project/DataGhRzALHasane%201.rar)

سلام
این فایل از روی پرشین گیگ حذف شده ، لطفا اگر دوستان کسی این برنامه یا مشابه آنرا دارد ، بگذارد تا استفاده کنیم.
خیلی ممنون

محمد رضا فاتحی
سه شنبه 29 دی 1394, 10:59 صبح
دوست عزیز...لطفا دقیق بررسی کنید تا مجبور نشید تاپیک 4 سال پیش رو آپ کنید...
لینک هیچ مشکلی نداره...

kamran749
جمعه 02 بهمن 1394, 19:06 عصر
دوست عزیز...لطفا دقیق بررسی کنید تا مجبور نشید تاپیک 4 سال پیش رو آپ کنید...
لینک هیچ مشکلی نداره...

سلام و تشکر از توجه شما دوست عزیز
من این فایل را بیش از ده بار دانلود کردم. یک فایل زیپ 1.82 کیلو بایتی دانلود می شود که اصلا باز نمیشود و معلوم است که حجم آن مشکل دارد و خراب شده است. لطفا امتحان نمایید. به هر حال اگر برای شما میسر است چند نمونه از پروژه صندوق قرض الحسنه با زبان سی شارپ برای آموزش و بهره برداری بگذارید. خیلی ممنون

kamran749
دوشنبه 12 بهمن 1394, 07:04 صبح
سلام
جناب آقای فاتحی از درخواست ما خبری نشد؟

محمد رضا فاتحی
دوشنبه 12 بهمن 1394, 08:12 صبح
سلام...واقعا نمی دونم دانلود این لینک چه مشکلی براتون داره!!:متفکر:
فایل پیوستی همون فایل لینک ارائه شدس که الان براتون دانلود کردم...
فقط نمی دونم چرا تو سایت خودمون آپلود نشد...
http://s7.picofile.com/file/8236403076/Download.rar.html