PDA

View Full Version : یه مشکل با ساخت TABLE



TRex2000
چهارشنبه 17 مرداد 1386, 10:05 صبح
سلام !!

من یه مشکل دارم !
اگه می شه بگید این کد مشکلش چیه !

بعد از اجرای کد پیغام "Table Created !" رو می ده ولی table نمی سازه !!


Imports System.Data
Imports System.Data.SqlClient
PublicClass Form1
Inherits System.Windows.Forms.Form
Dim myCon As SqlConnection
Dim myCom As SqlCommand

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
myCon = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True")
myCon.Open()
myCom = New SqlCommand("create table trex (name varchar(10))", myCon)
myCom.ExecuteNonQuery()
myCon.Close()
MsgBox("Table Created !")

EndSub
EndClass


مرسی

bad_boy_2007
چهارشنبه 17 مرداد 1386, 21:08 عصر
دستوراتت کاملا صحیحه فقط مشکل کارت اینجاست که از دیتابیسی استفاده کردی که اتچ شده نیست دستورت رو تغییر بده ببین دست میشه ؟

Data Source=.\sqlexpress;Initial Catalog=Database1;Integrated Security=True

TRex2000
پنج شنبه 18 مرداد 1386, 08:21 صبح
نه عزیزم !!

درست نشد هیچ ، الان اصلا کانکت نمی شه !

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

خوب ، دوستان اگه می دونید مشکل کار من کجاست لطفا یه کمکی بهم بکنید !

malizadeh
پنج شنبه 18 مرداد 1386, 09:52 صبح
myCom = New SqlCommand("create table trex (name varchar(10))", myCon)

اینو به این شکل بنویس

myCom = New SqlCommand("create table [trex] ([name] varchar(10))", myCon)


امیدوارم مشکلت حل شه.

bad_boy_2007
پنج شنبه 18 مرداد 1386, 14:57 عصر
دستوراتت کاملا صحیحه فقط مشکل کارت اینجاست که از دیتابیسی استفاده کردی که اتچ شده نیست دستورت رو تغییر بده ببین دست میشه ؟

Data Source=.\sqlexpress;Initial Catalog=Database1;Integrated Security=True

تست کردی ببینی دیتابیس اتچ هست یا نه ؟


نه عزیزم !!


درست نشد هیچ ، الان اصلا کانکت نمی شه !

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

خوب ، دوستان اگه می دونید مشکل کار من کجاست لطفا یه کمکی بهم بکنید !
مشکلت اینه که اصلا بانکت اتچ نشده برو SQL رو باز کن ببین بانکی با این نام : Database1 وجود داره یا نه ؟ احتمال 99% وجود نداره . اگر وجود نداشت بانکت رو اتچ کن (رو دیتابیس ها کلیک راست و گزینه اتچ رو بزن و آدرس دیتابیست رو بده) یا یک بانک خالی با این نام ایجاد کن بعد دستورت رو اجرا کن مشکلت حل شده.

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


PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mycon As SqlClient.SqlConnection
Dim mycom As SqlClient.SqlCommand
mycon = New SqlClient.SqlConnection("Data Source=.\sqlexpress;Integrated Security=True")
myCon.Open()
mycom = New SqlClient.SqlCommand("create database Database1", mycon)
myCom.ExecuteNonQuery()
myCon.Close()
EndSub

bad_boy_2007
پنج شنبه 18 مرداد 1386, 15:07 عصر
هر دو تا کد رو تست کردم مشکل نداشت.
اول کد بالا رو اجرا کن بعدش اینو :

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myCon As SqlConnection
Dim myCom As SqlCommand
myCon = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Database1;Integrated Security=True")
myCon.Open()
myCom = New SqlCommand("create table trex (name varchar(10))", myCon)
myCom.ExecuteNonQuery()
myCon.Close()
MsgBox("Table Created !")

EndSub

marzban
پنج شنبه 18 مرداد 1386, 18:17 عصر
دوست عزیز از مسیج باکس اشتباه استفاده کردی .نحوه استفاده اش به اون صورت نیست .
table شما چه ساخته بشه یا ساخته نشه همون پیام نشان داده می شه.
دوست عزیز بهتر است اول کانکشن خودت رو چک کنی ببینی اصلا ارتباطت با بانک بر قرار می شه یا نه.
فکر کنم شما باید اسم نام سرور sql کامپیوترتان را در کانکشن تان قرار دهید

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