PDA

View Full Version : مشکل در ایجاد جدول برای Database در سی شارپ



alirezafc
پنج شنبه 06 خرداد 1395, 12:35 عصر
سلام دوستان
من میخوام یک جدول برای دیتابیس از طریق سی شارپ ایجاد کنم. اما میخوام نوع فیلد های جدول رو به صورت انتخاب از یک combobox مشخص کنم. برای همین منظور با کد زیر تمام نوع داده های یک فیلد در sql رو به داخل یک combobox اضافه میکنم.

string[] names = Enum.GetValues(typeof(SqlDbType))
.Cast<SqlDbType>()
.Select(x => x.ToString())
.ToArray();

for (int i = 0; i < names.Length; i++)
{
comboBox1.Items.Add(names[i]);
}

و برای ایجاد جدول از کد زیر استفاده میکنم.

Server srv = new Server("(local)");
Database db = srv.Databases["sample"];
Table mytbl= new Table(db, "newtbl");

UserDefinedDataType hps = new UserDefinedDataType(db, "hps");
hps.SystemType = comboBox1.SelectedItem.ToString();
hps.Create();

mytbl.Columns.Add((new Column(mytbl, "name",DataType.UserDefinedDataType("hps"))));
mytblCreate();
سعی کردم با این کد، نوع داده یا datatype رو از combobox بگیرم. و جدول رو ایجاد کنم. اما با خطای زیر مواجه میشم.

Create failed for UserDefinedDataType 'dbo.hps'.

آیا برای این کار ، یعنی انتخاب نوع فیلد در زمان اجرا، راه دیگه ای نیست؟ یا نمیشه این کد رو اصلاح کرد؟ اگه میشه خواهش میکنم کمکم کنید. خیلی لازمش دارم.
با تشکر فراوان