PDA

View Full Version : سوال: تغییر نام یک تیبل به نام دیگر با استفاده از کد نویسی



IMANAZADI
چهارشنبه 11 اسفند 1389, 19:27 عصر
با سلام خدمت دوستان
یک سوال داشتم
در سی شارپ چه طوری میشه با کد نویسی نام یک تیبل در بانک اکسس را تغییر داد ؟

مثلا در رویداد کلیک یک BUTTON بشه نام تیبل(جدول) A را به B در بانک اکسس به نام DB.ACCDB تغییر داد ؟؟
با تشکر

لطفا کامل توضیح بدید (کد را کامل بنویسید)

mobtakercode
چهارشنبه 11 اسفند 1389, 23:10 عصر
دستوری برای تغییر نام جدول با استفاده از C# وجود ندارد شما باید با استفاده از دستور select into در ابتدا کلیه داده های موجود در جدول قدیمی را به جدول جدید انتقال دهید و سپس با استفاده از دستور drop table اقدام به حذف جدول قدیمی بکنید

دستورات آن به صورت زیر است:


OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\file1.mdb");
con.Open();
OleDbCommand com = new OleDbCommand();
com.Connection = con;
com.CommandText = "select * into st2 from st";
com.ExecuteNonQuery();
com.CommandText = "Drop table st";
com.ExecuteNonQuery();
con.Close();


در دستورات بالا فرض کردم که شما جدولی بنام st دارید و می خواهید نام انرا به st2 تغییر دهید.
لازم به ذکر است در دستور select into اگر جدول st2 از قبل وجود نداشته باشد خودش اقدام به ساختن جدول با استفاده از مشخصات جدول st می کند و در پایان جدول st را نیز حذف می کنیم.

IMANAZADI
پنج شنبه 12 اسفند 1389, 08:12 صبح
دوست گرامی با تشکر از راهنماییت
ولی اگر تیبل ما سنگین باشه این کار وقت زیادی تو برنامه میگیره و برنامه رو برای چند لحظه ممکن است فریز کنه
چنین دستوری برای تغییر نام جدول هست (SQL)

لــــیــــنـــک (http://msdn.microsoft.com/en-us/library/ms188351.aspx)

من نمیدونم توی C# چطوری باید شکل دستور را بنویسم.
از دوستان دیگه هم خواهش میکنم راهنمایی کنند .

exlord
پنج شنبه 12 اسفند 1389, 11:39 صبح
دستوری برای تغییر نام جدول با استفاده از C# وجود ندارد
.

قبل از پاسخ دادن یه جستجو بکنین و از جوابتون مطمئن بشین ...
Alter table Stu_Table rename to Stu_Table_10
RENAME employee TO my_emloyee;
sp_rename (http://msdn.microsoft.com/en-us/library/ms188351.aspx)
sp_rename 'OLD_Name','NEW_Name'

IMANAZADI
پنج شنبه 12 اسفند 1389, 12:19 عصر
عـــــــجـــــــــــــب !!!!!؟؟؟؟
دوستان عزیز
رفقیقان ارجمند
من خودم تو پست 3 گفتم دستورش رو میدونم ولینک مایکروسافت هم دادم
طریقه استفاده در c# را نمیدونم یعنی چطوری در c# در یک button پیاده سازی کنم
شما همین مثال را در رویداد کلیک یک button پیاده سازی کنید .
آیا باید کانکشن ایجاد کنم
آیا باید از oledbcommand استفاده کنم ؟
به چه صورت ؟؟

mobtakercode
پنج شنبه 12 اسفند 1389, 14:08 عصر
عـــــــجـــــــــــــب !!!!!؟؟؟؟
دوستان عزیز
رفقیقان ارجمند
من خودم تو پست 3 گفتم دستورش رو میدونم ولینک مایکروسافت هم دادم
طریقه استفاده در c# را نمیدونم یعنی چطوری در c# در یک button پیاده سازی کنم
شما همین مثال را در رویداد کلیک یک button پیاده سازی کنید .
آیا باید کانکشن ایجاد کنم
آیا باید از oledbcommand استفاده کنم ؟
به چه صورت ؟؟

دوست عزیز
برای تغییر نام جدول ساخته شده در اکسس همان روشی است که گفتم و آن چیزی که شما لینک داده اید برای sql server است و در اکسس نمی توان به کار گرفت
در ضمن چه نیازی به تغییر نام جدول ساخته شده در اکسس می باشد ؟ اگر هدفتان را از این کار بگویید شاید بهتر بتوان کمک کرد؟

exlord
پنج شنبه 12 اسفند 1389, 15:51 عصر
How To Change an Access Table Name Programmatically (http://support.microsoft.com/kb/291017)

IMANAZADI
پنج شنبه 12 اسفند 1389, 19:08 عصر
دوست عزیز همون SQL توضیح بدیدن
فقط بنویسید
مثال را بر فرض SQL در نظر بگیرید

اون دوست عزیز دیگر هم لینک شما واسه بیسک هست نه سی شارپ

IMANAZADI
پنج شنبه 12 اسفند 1389, 19:22 عصر
دوست عزیز برای SQL بگو
فقط بگو
مثال را بر فرض SQL در نظر بگیرید

دوست عزیز دیگر هم کدی که لینک داده بودید واسه بیسیک هست

mobtakercode
جمعه 13 اسفند 1389, 08:54 صبح
دوست عزیز روش همانی بود که در پست شماره 2 به شما گفتم و هیچ روش دیگری وجود ندارد

exlord
جمعه 13 اسفند 1389, 10:07 صبح
دوست عزیز برای SQL بگو
فقط بگو
مثال را بر فرض SQL در نظر بگیرید

دوست عزیز دیگر هم کدی که لینک داده بودید واسه بیسیک هست

یعنی شما تا حالا دستور sql تو C# اجرا نکردی ؟
SqlConnection con = new SqlConnection("Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;");
SqlCommand com = new SqlCommand();
com.Connection = con;

com.CommandText = "Alter table OLD_table rename to NEW_table";
یا
com.CommandText = "RENAME OLD_table TO NEW_table;";
یا
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "sp_rename 'OLD_Name','NEW_Name'";

com.ExecuteNonQuery();