PDA

View Full Version : ثبت در Database



ایلیا آخوندزاده
دوشنبه 05 بهمن 1394, 14:53 عصر
سلام
من تازه وارد محیط #c شدم و برای اضافه کردن رکورد به پایگاه داده از نوع SQL Server که با خود #c ساختم از کد زیر استفاده میکنم:

SqlConnection con = newSqlConnection();


con.ConnectionString = "server=(local);database=andikator;trusted_connecti on=yes";


SqlCommand com = newSqlCommand();
com.Connection = con;


com.CommandText = "insert into S (titles,matters,dates) ";
com.CommandText += "values (@titles,@matters,@dates)";
com.Parameters.AddWithValue("@titles", title_ts.Text);
com.Parameters.AddWithValue("@matters", matter_TR.Text);
com.Parameters.AddWithValue("@dates", date_TS.Text);
con.Open();


com.ExecuteNonQuery();


con.Close();
title_ts.Text = "";
matter_TS.Text= "";


MessageBox.Show("ثبت با موفقیت انجام شد", "", MessageBoxButtons.OK);

من اصلا تا بحال با #c کار نکردم وقتیم این کد رو اجرا میکنم و روی باتون ثبت کلیک میکنم این خطا که تو تصویر هست ظاهر میشه.
طفا کمکم کنید و در نظر داشته باشین که کاملا مبتدی هستم.
پیشاپیش ممنون

Mofid.m
دوشنبه 05 بهمن 1394, 16:00 عصر
سلام دوست عزیز
فکر میکنم این مشکل از ConnectionString شما باشه
اینو کوری استرینگو بزار جای قبلی


String strQueryString=@"server=.;database=MyDataBaseName;Integrated Security=true"

ایلیا آخوندزاده
دوشنبه 05 بهمن 1394, 22:29 عصر
سلام
دوست عزیز از توجه تون بسیار ممنونم ولی متاسفانه بازم هم همون خطا ظاهر میشه

baranbahari1320
دوشنبه 05 بهمن 1394, 23:09 عصر
دوست عزیز از کد زیر استفاده بفرمایین


String strQueryString=@"server=Data source=.\\SQLEXPRESS;database=MyDataBaseName; Integrated Security=true"

ببینین درست میشه.


از لینک زیر هم میتونی استفاده کنی.
http://programming.itpro.ir/articles/9398/%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-sql-server-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%28%D8%A8%D8%AE%D8%B4-%DA%86%D9%87%D8%A7%D8%B1%D9%85%29


البته میشه بگی که چطور از دیتا بیس sql server ی که داری تو خود سی شارپ استفاده کردی؟یعنی اول database رو ساختی بعد detach کردی و تو سی شارپ استفاده کردی؟ اگه اینجوری باشه خطایی که رخ میده به این دلیل هستش.

ایلیا آخوندزاده
دوشنبه 05 بهمن 1394, 23:33 عصر
سلام
بله از SQL خود #C استفاده کردم من کد شمارم گذاشتم ولی بازم همون خطا تکرار میشه من پروژه رو ضمیمه می کنم چون در زبان #C مبتدیم به احتمال قوی کد نویسی من اشتباهه لطفا خودتون مشاهده کنید و ببینید کجای کارم اشتباه هستش .
ممنونم
http://s6.picofile.com/file/8235331984/andikator.rar.html

Mofid.m
سه شنبه 06 بهمن 1394, 08:34 صبح
دوست عزیز شما تو Server Explorer روی دیتابیست که کلیک کنی، تو قسمت Properties کانکشن استرینگ خودتو ببینی

ایلیا آخوندزاده
چهارشنبه 07 بهمن 1394, 20:41 عصر
فرمایش شما صحیح ولی خب چرا اون خطای بالای تکرار میشه

ایلیا آخوندزاده
جمعه 09 بهمن 1394, 20:48 عصر
دوستان کسی نمیتونه کمک کنه ؟ شما خودتون از چه روشی برای ثبت استفاده می کنید یا حداقل یک پروژه نمونه هم باشه کافیه

حسین.کاظمی
جمعه 09 بهمن 1394, 21:55 عصر
سلام
من توی پروژه هام برای چهار عملیات (اضافه.حذف.ویرایش.جست و جو) بیشتر از sp استفاده میکنم و پیشنهاد می کنم شما هم از همین روش استفاده کنید.

نمونه کد اضافه کردن رکورد توسط sp

private void button1_Click(object sender, EventArgs e)
{

this.Cursor = Cursors.WaitCursor;

string connection = "Data Source=(local);Initial Catalog=test_pro;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
SqlCommand cmd = new SqlCommand("insert", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@c_name", textBox1.Text.Trim());
cmd.Parameters.AddWithValue("@c_lname", textBox2.Text.Trim());
cmd.Parameters.AddWithValue("@c_tarikhtavalod", maskedTextBox1.Text.Trim());
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("save");
this.Cursor = Cursors.Default;
}

اگر نیاز به توضیح بیشتری داشتی بگو تا بیشتر توضیح بدم