PDA

View Full Version : سوال: اضافه کردن داده ها از جدولی به جدول دیگر



managment-barnamenevis
جمعه 24 آذر 1391, 12:00 عصر
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=MESHKI-PC;Initial Catalog=Amuzeshgah;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Insert Into ostad2 (ostadnumber,ostadname,ostadfamily,ostadsen) ";
cmd.CommandText=" select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";

با سلام خدمت دوستان عزیز
به نظر شما مشکل کد بالا چیه که
بهم جواب نمیده

veniz2008
جمعه 24 آذر 1391, 12:05 عصر
سلام. یه + در خط آخر اضافه کن، بصورت زیر :

cmd.CommandText +=" select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";

managment-barnamenevis
جمعه 24 آذر 1391, 12:13 عصر
سلام. یه + در خط آخر اضافه کن، بصورت زیر :

cmd.CommandText +=" select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";


دوست عزیز بازم جواب نداد

managment-barnamenevis
جمعه 24 آذر 1391, 12:21 عصر
دوستان عزیز کسی میدونه مشکل کد بالا چیه

veniz2008
جمعه 24 آذر 1391, 12:22 عصر
شما باید command رو اجرا کنید. یعنی اینطور :

cmd.ExecuteNonQuery();
این کار رو انجام دادید؟.
اگر خطا میده متن خطا رو بذارید.

managment-barnamenevis
جمعه 24 آذر 1391, 12:31 عصر
شما باید command رو اجرا کنید. یعنی اینطور :

cmd.ExecuteNonQuery();
این کار رو انجام دادید؟.
اگر خطا میده متن خطا رو بذارید.

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=MESHKI-PC;Initial Catalog=UniverCity;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Insert Into ostad2 (ostadnumber,ostadname,ostadfamily,ostadsen) ";
cmd.CommandText=" select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";
cmd.CommandText += " select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";
cmd.ExecuteNonQuery();
conn.Close();
این کل کدشه هیچ خطا و اروری هم نمیده
وقتی هم اجراش میکنم
و بعداز اجرا جدول استاد 2 رو نگاه میکنم هیچ خطایی نمیده

asghar2008
جمعه 24 آذر 1391, 12:44 عصر
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=MESHKI-PC;Initial Catalog=UniverCity;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Insert Into ostad2 (ostadnumber,ostadname,ostadfamily,ostadsen) ";
cmd.CommandText=" select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";
cmd.CommandText += " select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad";
cmd.ExecuteNonQuery();
conn.Close();
این کل کدشه هیچ خطا و اروری هم نمیده
وقتی هم اجراش میکنم
و بعداز اجرا جدول استاد 2 رو نگاه میکنم هیچ خطایی نمیده

سلام
شما نمیتونید 2تا Cmd.commantext رو اجرا کنیدروش شما اشتباه چون cmd.commanadtext آخری جای اولی رو میگیره ودر نتیجه cmd.commandtext آخری اجرا میشه.در cmd.commandtext فقط از کد زیر استفاده کن:
Insert Into ostad2 ( select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad)


به صورت زیر :

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=MESHKI-PC;Initial Catalog=UniverCity;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Insert Into ostad2 (select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad) ";
cmd.ExecuteNonQuery();
conn.Close();

managment-barnamenevis
جمعه 24 آذر 1391, 12:49 عصر
:گیج:
:گیج:
:گیج:
:گیج:
:گیج:
:گیج:
:گیج:

managment-barnamenevis
جمعه 24 آذر 1391, 12:56 عصر
الان این ارور رو میده
{"Incorrect syntax near the keyword 'select'.\r\nIncorrect syntax near ')'."}

asghar2008
جمعه 24 آذر 1391, 12:58 عصر
ترتیب ستون ها خیلی مهمه.

چک کنید که ترتیب ستون ها رعایت شده یا نه!

managment-barnamenevis
جمعه 24 آذر 1391, 13:14 عصر
ستون ها همه درسته
یعنی هردوتا جدول یکین
فقط اسماشون فرق داره
ولی متاسفانه نمیدونم مشکل چیه

asghar2008
جمعه 24 آذر 1391, 13:17 عصر
آها !
ببخشید. پرانتزارو () رو حذف کن

محمدجواد67
جمعه 24 آذر 1391, 13:26 عصر
سلام کلا دستور sql شما اشتباه است وقتی اطلاعات رو insert میکنید اصلا به اون مقدار نمی دهید فقط به sql دستور می دهید که این مقدار ها رو از جدول پر کن ، از چی پر کند معلوم نیست

من توی این پروژه کد های که گذاشتید رو درست کردم اگر از conn.open(); ایراد گرفت حتما ConnectionString برنامتو درست کن.
WindowsFormsApplication3.rar - 39.2 Kb (http://uplod.ir/xebr59ab7qws/WindowsFormsApplication3.rar.htm)

حالا اگر میخوای اطلاعات یه جدول رو به جدول دیگه منتقل کنید فقط کافی یه datatable تعریف کنید و table ای که در dataset برنامه است همون dset ای که من تو پروژه بالا تعریف کردم رو کافی فقط به datatable که تعریف کردی منتقل کنی به این طریق


DataTable dt = new DataTable();
dt = dset.Tables["1"];

در ضمن یه سر هم به این لینک بزن خیلی خیلی به کارت میاد ، یه پروژه کار آمد و خوب هم اینجا گذاشتم
http://barnamenevis.org/showthread.php?373073-یه-پروژه-با-امکانات-درج-و-ویرایش-و-حذف-اطلاعات-و-عکس-در-پایگاه-داده-sql-با-زبان-C&p=1647375&viewfull=1#post1647375

موفق باشید .

managment-barnamenevis
جمعه 24 آذر 1391, 13:48 عصر
ممنون رفیق
عالی بود

asghar2008
جمعه 24 آذر 1391, 14:07 عصر
سلام کلا دستور sql شما اشتباه است وقتی اطلاعات رو insert میکنید اصلا به اون مقدار نمی دهید فقط به sql دستور می دهید که این مقدار ها رو از جدول پر کن ، از چی پر کند معلوم نیست



ببخشد کدوم اشتباهه ؟؟

دوست گرامی من یه نمونه پروژه برات نوشتم که 2تا جدول داره . که اطلاعاتو از جدول اولی به جدول دومی کپی میکنه.
کدت رو به صورت زیر استفاده کن.

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=MESHKI-PC;Initial Catalog=UniverCity;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Insert Into ostad2 select ostadnumber,ostadname,ostadfamily,ostadsen From Ostad ";
cmd.ExecuteNonQuery();
conn.Close();







اگه خواستی یک رکورد خاصی رو انتخاب کنی میتونی از دستور زیر استفاده کنی:


INSERT INTO tbldovom select name,family,shsh,shtel from tbltest where مقدار'=نام ستون '

دانلود کن: