PDA

View Full Version : ایجاد جدول جدید



ji ming u
یک شنبه 23 بهمن 1390, 02:57 صبح
سلام دوستان
میخواستم توی پایگاه داده ام جدولی را بنام name ایجاد کنم بشرطی که این جدول در پایگاه داده وجود نداشته باشد
میشه در کد نویسی راهنمایی منید؟

shocraneh
یک شنبه 23 بهمن 1390, 09:52 صبح
IF NoT EXISTS (SELECT * FROM table)

اگه خاستی می تونی در صورت وجودحذفش کنی و دوباره بسازی بعداز کد بالا drop table هم بزاری

ji ming u
یک شنبه 23 بهمن 1390, 12:01 عصر
میشه کاملتر توضیح بدی
میخام اگه جدول وجود داشته باشد کاری انجان ندهد واگه جدول وجود داشته باشد جدول را ایجاد کند
برای ایجاد فیلدهاش چیکار کنیم

s.khoshfekran
یک شنبه 23 بهمن 1390, 12:20 عصر
Declare @count int = (Select COUNT(*) From sys.tables where name = 'name')
if(@count = 0)
{
--Do Something
}
else
{
--Do Something
}

ji ming u
یک شنبه 23 بهمن 1390, 12:30 عصر
[QUOTE=s.khoshfekran;1440833]Declare @count int = (Select COUNT(*) From sys.tables where name = 'name')
if(@count = 0)
{
--Do Something
}
else
{
--Do Something
}
[/QUO

میشه کد ی را بنوسید که اگه جدول وجود نداشته باشد جدول را با دوفیلد id - nauber ایجاد کند

s.khoshfekran
یک شنبه 23 بهمن 1390, 12:38 عصر
Declare @count int = (Select COUNT(*) From sys.tables where name = 'name')
if(@count = 0)
Create table name(id int primary key ,nauber int)

ji ming u
یک شنبه 23 بهمن 1390, 13:05 عصر
منظورت از Declare چیه؟
چیکار میکنه

parand60
یک شنبه 23 بهمن 1390, 15:48 عصر
declare برای تعریف متغیر به کار میره

ji ming u
یک شنبه 23 بهمن 1390, 20:48 عصر
از دوستان کسی نیست کمک کنه

Sirwan Afifi
یک شنبه 23 بهمن 1390, 21:04 عصر
توسط متد OBJECT_ID (البته این سوال رو باید در تالار T-SQL مطرحی می کردی)

if OBJECT_ID('نام جدول') is not null
begin
print 'Table is Exist'

end
else
begin
print 'Table is Not Exist'
create table SD(
id int IDENTITY(1,1) not null,
date datetime2(7) null)
print 'Table Created'
end

ji ming u
یک شنبه 23 بهمن 1390, 22:04 عصر
سلام
این کد را قبول نمکند ارور میده

Sirwan Afifi
یک شنبه 23 بهمن 1390, 22:06 عصر
سلام
این کد را قبول نمکند ارور میده

من خودم کد رو تست کردم بعد گذاشتم.
چه اروری میده ؟

ji ming u
یک شنبه 23 بهمن 1390, 22:12 عصر
internal string addrees_main = @"Data Source=.\SQLEXPRESS;Initial Catalog=M:\MAIN_DB2\DB_MANAGER_ALI.MDF;Integrated Security=True";
SqlConnection sqlcon = new SqlConnection();
SqlCommand sqlcom = new SqlCommand();
SqlDataAdapter sqladap = new SqlDataAdapter();
sqlcon.ConnectionString = namedatabase;
sqlcom.Connection = sqlcon;
sqladap.SelectCommand = new SqlCommand();
sqladap.SelectCommand.Connection = sqlcon;


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

Sirwan Afifi
یک شنبه 23 بهمن 1390, 22:14 عصر
internal string addrees_main = @"Data Source=.\SQLEXPRESS;Initial Catalog=M:\MAIN_DB2\DB_MANAGER_ALI.MDF;Integrated Security=True";
SqlConnection sqlcon = new SqlConnection();
SqlCommand sqlcom = new SqlCommand();
SqlDataAdapter sqladap = new SqlDataAdapter();
sqlcon.ConnectionString = namedatabase;
sqlcom.Connection = sqlcon;
sqladap.SelectCommand = new SqlCommand();
sqladap.SelectCommand.Connection = sqlcon;


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





SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
string sql = @"if OBJECT_ID('SD') is not null
begin
print 'Table is Exist'

end
else
begin
print 'Table is Not Exist'
create table SD(
id int IDENTITY(1,1) not null,
date datetime2(7) null)
print 'Table Created'
end";
SqlCommand cmd = new SqlCommand(sql,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();

ji ming u
یک شنبه 23 بهمن 1390, 22:42 عصر
Incorrect syntax near 'nullbeginprint'.
Incorrect syntax near 'end'.
ارور بالایی را میده

Sirwan Afifi
یک شنبه 23 بهمن 1390, 23:20 عصر
برای چک کردن جدول از این متد استفاده کن :

public static bool DbTableExists(string strTableName)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
string strCheckTable = string.Format("IF OBJECT_ID('{0}') IS NOT NULL SELECT 'true' ELSE SELECT 'false'",strTableName);
SqlCommand cmd = new SqlCommand(strCheckTable,con);
cmd.CommandType = CommandType.Text;
con.Open();
return Convert.ToBoolean(cmd.ExecuteScalar());
}

و به این صورت ازش استفاده کنید :

if (DbTableExists("SD"))
{
MessageBox.Show("Exist");
}
else
{
MessageBox.Show("Not Exist");
CreateTable();
}

اگر Table وجود نداشت با استفاده از متد CreateTable ساخته میشه :

private void CreateTable()
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
string sql = @"create table SD(
id int IDENTITY(1,1) not null,
date datetime2(7) null)";
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();

}


این کد هیچ اروری نداره خودم قبلا استفاده کردم.

ji ming u
دوشنبه 24 بهمن 1390, 03:04 صبح
درست شد مهندس