PDA

View Full Version : ساخت یک جدول در دیتابیس توسط ASP.net



rtech
یک شنبه 17 دی 1385, 20:30 عصر
سلام دوستان من در یکی از فرم های سایتی دو دکمه دارم برای ایجاد و حذف یک جدول .
میخواستم بدونم آیا از طریق کد در ASP.net میتوان جدولی را ساخت و آنرا حذف کرد یا باید از Stored Procedure ها استفاده کنم ؟

problem
یک شنبه 17 دی 1385, 22:16 عصر
البته که می‌شه! کافیه شما ازش بخواید که دستور مورد نظر رو اجرا کنه، برای ساخت جدول یک دستور از نوع CREATE TABLE‌ و برای حذف اون DROP TABLE باید اجرا بشه. اما اگر منظور شما این بوده که مثلاً یکی از اشیای موجود در دات نت یک متد به اسم ()dropTable داشته باشه، نه این طور نیست.

rtech
یک شنبه 17 دی 1385, 23:57 عصر
بله اینو میدونم که دستور ایجاد جدول در Sql server چیه من منظور این بود که در ASp.net چه دستوری رو باید بنویسم ؟ یعنی همین create table رو باید به کار ببرم ؟ میشه یک مثال بزنید

c#_web
دوشنبه 18 دی 1385, 00:37 صبح
فکر کنم از طریق دستور زیر بتونی هم جدول را ایجاد کنی و هم براش سطر و ستون بذاری.


response.write(<table>);
response.write(<tr><td>);
در اینجا میتونی سطرها و ستونها را ایجاد و یا مقداردهی بکنی
response.write(</table>);

امیدوارم کارساز باشه.

problem
دوشنبه 18 دی 1385, 00:47 صبح
c#_web جان. منظور ایشون یک جدول داده در Database بود، نه نمایش که جدول در صفحهٔ وب.
rtech جان، بله. برای ساخت جدول از CREATE TABLE و برای حذف از DROP TABLE‌ استفاده می‌شه. مثلاً می‌تونی به این‌جا (http://msdn.microsoft.com/library/en-us/tsqlref/ts_create2_8g9x.asp?frame=true) نگاه کنی و مثال‌هاشو هم بررسی کنی.

rtech
دوشنبه 18 دی 1385, 01:25 صبح
c#_web جان. منظور ایشون یک جدول داده در Database بود، نه نمایش که جدول در صفحهٔ وب.
rtech جان، بله. برای ساخت جدول از CREATE TABLE و برای حذف از DROP TABLE‌ استفاده می‌شه. مثلاً می‌تونی به این‌جا (http://msdn.microsoft.com/library/en-us/tsqlref/ts_create2_8g9x.asp?frame=true) نگاه کنی و مثال‌هاشو هم بررسی کنی.

بله منظور من ایجاد جدول در sql server بود اما این لینکی که معرفی کردید دستورات Sql برای ایجاد جدول هست که میشه اینارو در sql server و از طریق یک query جدول رو ایجاد کرد اما من میخوام user خودش از طریق سایت بتونه این جدول رو ایجاد کنه ! البته فقط نام جدول رو میده و ستونها و مقادیرش رو ما تعیین میکنیم فرض کنید چند کارخانه موبایل وجود دارد مثل نوکیا و سونی اریکسون و .... که هر کدوم یک جدول مجزا دارند که شامل ستونهای مدل گوشی ، سال تولید و .... و حالا ما میخواهیم به مدیر این امکان رو بدیم که یک جدول جدید ( همان کارخانه جدید مثل موتورولا ) رو در یک textbox وارد کند و پس زدن دکمه تایید این جدول ساخته شود . امیدوارم تونسته باشم منظورم رو برسونم

problem
دوشنبه 18 دی 1385, 11:07 صبح
خوب شما فقط باید یک query از قبل آماده کنید، که تنها یک قسمتش خالی باشه: نام جدول. وقتی طرف اسم کارخونه رو وارد کرد، اون رو هم به query اضافه کنید و اجراش کنید!



CREATE TABLE tblXXXXXX AS (ID int identity primary key, ProdName varchar(20)

و بعد در خود برنامه از عبارت بالایی tblXXXXXX با نام وارد شده توسط کاربر Replace کنید!

چند تا نکته مهمه:
۱) قبل از اجرا مطمئن شید جدولی به اون نام از قبل وجود نداره.
۲) مطمئن شید نام جدول نام قابل استفاده‌ای هستش. من اون tbl رو اول tblXXXXXX‌ برای همین گذاشتم، که اگر یک نفر زرنگی کرد و اسم کارخونه رو مثلاً نوشت user که یک کلمه رزرو شده در SQL هستش، اسم جدوله بشه tbluser‌ که دیگه رزرو شده نیست، و مشکلی ایجاد نشه.

mehdi58
دوشنبه 18 دی 1385, 11:58 صبح
ببین دوست عزیز
ایجاد جدول جدید توی دیتا بیس هم یکی از دستورات SQL است .
همونطور که شما با ASP.NET یه دستور Select , Insert , Update , Delete و ... رو انجام می دی ، اینجا هم همون کار رو انجام بده .
موفق باشین .

rtech
دوشنبه 18 دی 1385, 19:22 عصر
ببین دوست عزیز
ایجاد جدول جدید توی دیتا بیس هم یکی از دستورات SQL است .
همونطور که شما با ASP.NET یه دستور Select , Insert , Update , Delete و ... رو انجام می دی ، اینجا هم همون کار رو انجام بده .
موفق باشین .

خوب پس باید در اینجا یک متغیر از نوع sqlcommand تعریف کنم و دستوری که دوست عزیزمون گفت رو درون آن قرار بدم درسته ؟ اگر نه لطفا یک مثال بزنید

problem
دوشنبه 18 دی 1385, 22:11 عصر
درسته. (البته فروم اجازه فرستادن پیام با کمتر از ۱۰ کاراکتر رو نمی‌ده، وگرنه من این پرانتز را باز نمی‌کردم!)

bahman_eng
چهارشنبه 11 بهمن 1385, 07:06 صبح
rtech جان بفرمایید.


string tbl_name = "tblXXXXX";
string strCommand = "CREATE TABLE " + tbl_name.Trim() + " (fname nvarchar(20) ,lname nvarchar (20),..)";

SqlConnection conn = new SqlConnection(StrConnection);
SqlCommand objcommand = new SqlCommand(strCommand,conn);

conn.Open();
objcommand.ExecuteNonQuery();
conn.Close();

با عذر خواهی از اساتید محترم

mahdi_2490
یک شنبه 10 دی 1391, 23:46 عصر
سلام اگه بخواهیم از تکس باکس ورودی بگیره و با یه دکمه ارسال جدول را بسازه چه کاری باید کرد ؟

saeed_sho
دوشنبه 11 دی 1391, 11:36 صبح
rtech جان بفرمایید.


string tbl_name = "tblXXXXX";
string strCommand = "CREATE TABLE " + tbl_name.Trim() + " (fname nvarchar(20) ,lname nvarchar (20),..)";

SqlConnection conn = new SqlConnection(StrConnection);
SqlCommand objcommand = new SqlCommand(strCommand,conn);

conn.Open();
objcommand.ExecuteNonQuery();
conn.Close();

با عذر خواهی از اساتید محترم

دستور ایجاد جدولو در استورد پروسیجر بنویس از نظر امنیتی بهتره

saeed_sho
دوشنبه 11 دی 1391, 11:38 صبح
سلام اگه بخواهیم از تکس باکس ورودی بگیره و با یه دکمه ارسال جدول را بسازه چه کاری باید کرد ؟
مقداره تکست باکسو بعنوان پارامتر پاس بده به استورد پروسیجر

alitootoo
دوشنبه 11 دی 1391, 17:34 عصر
به نام خدا
سلام به همه دوستان
وقتی از طریق grid viewمی خوام حذف یا اضافه یا آپدیت کنم تاثیری روی بانکم نمیذاره.
خصوصیات delete query ,update query , insert query,insert query رو وقتی که دستورات معمولی اس کیو ال رو مینویسم اجرا نمیکنه.
لطفا راهنماییم کنید