PDA

View Full Version : سوال: ایجاد دیتا بیس اس کیو ال در ویژوال بیسیک دات نت



seyed ehsan
یک شنبه 26 مهر 1388, 12:05 عصر
سلام به همه دوستان .
مدتی بود که تصمیم گرفته بودم تا از طریق کد نویسی در VB.NET یک فایل دیتا بیس اس کیو ال ایجاد کنم مثل همان کاری که در ویژوال بیسیک انجام میدادیم برای ایجاد فایل اکسس . خیلی هم دنبال مطلب گشتم که این کار رو انجام بدم .
از جمله لینک هایی که در این مورد پیدا کردم :
http://www.dotnetspider.com/forum/ViewForum.aspx?ForumId=8997
و
http://www.daniweb.com/forums/thread153109.html#

اما هر کاری که کردم نشد که نشد . نمی دانم مشکل از کجاست ؟ کدها اشتباه هستن یا مشکل چیز دیگه ای هست !
میشه کمکم کنید ؟
می خواهم یه فایل اس کیو ال را در ویژوال بیسیک دات نت با چند تا tabel و فیلد و ... خیلی ساده ایجاد کنم . میشه کمکو کنید و بهم بگید حد اقل چیز هایی که باید روی سیستم من نصب باشه چیه ؟

saadi2
یک شنبه 26 مهر 1388, 13:56 عصر
Imports System.Data.SqlClient
Public Class Form1
Protected Const conString As String = _
"Server=localhost;" & _
"Integrated Security=SSPI;" & _
"DataBase="
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "SQL Services"
End Sub
Private Sub CreatDatabase(ByVal Name, ByVal Path)
Dim strSQL As String = Nothing
Try
strSQL += "CREATE DATABASE " & Name
If Path IsNot Nothing Then
strSQL += " ON " & vbCrLf
strSQL += "( NAME = " & Name & "_Data," & vbCrLf
strSQL += "FILENAME = '" & Path & Name & "_Data.mdf') " & vbCrLf
strSQL += " LOG ON " & vbCrLf
strSQL += "( NAME = '" & Name & "_Log'," & vbCrLf
strSQL += "FILENAME = '" & Path & Name & "_Log.ldf') "
End If
MessageCenter(sqlCom_ExecuteNonQuery(strSQL, Nothing), Name)
Catch ex As Exception
End Try
End Sub
Private Sub CreatTable(ByVal TableName)
Dim strSQL As String = Nothing
Try
strSQL += "CREATE TABLE [" + TableName + "] ("
strSQL += "Radif Int NOT NULL,"
strSQL += "pDate NVarChar(10) NULL,"
strSQL += "Name NVarChar(50) NULL,"
strSQL += "Bed Int NULL,"
strSQL += "Bes Int NULL,"
strSQL += "CONSTRAINT [PK_" & TableName & "] PRIMARY KEY CLUSTERED"
strSQL += "(Radif))"
MessageCenter(sqlCom_ExecuteNonQuery(strSQL, "Test2") + 3, TableName)
Catch ex As Exception
End Try
End Sub

Private Function sqlCom_ExecuteNonQuery(ByVal StrSql, ByVal Database) As Integer
Dim msg As String = 0
Try
Dim sqlCon As New SqlConnection(conString + Database + ";")
Dim sqlCom As New SqlCommand(StrSql, sqlCon)
sqlCon.Open()
sqlCom.ExecuteNonQuery()
sqlCon.Close()
Catch Exc As Exception
If InStr(Exc.Message, "already exists.") > 0 Then
msg = 1
ElseIf InStr(Exc.Message, "There is already") > 0 Then
msg = 1
Else
msg = 2
End If
End Try
Return msg
End Function

Private Sub MessageCenter(ByVal Selection, ByVal Name)
Dim str As String = Nothing
Select Case Selection
Case 0
MsgBox("ساخت پايگاه داده با موفقيت به پايان رسيد", , "توجه")
Case 1
str = " قبلا ايجاد گرديده است « " & Name & " » پايگاه داده "
MsgBox(str, , "اخطار")
Case 2
MsgBox("", , "اخطار")
Case 3
MsgBox("ساخت جدول با موفقيت به پايان رسيد", , "توجه")
Case 4
str = " قبلا ايجاد گرديده است « " & Name & " » جدول "
MsgBox(str, , "اخطار")
Case 5
MsgBox("", , "اخطار")
Case 6
MsgBox("ذخيره سازي با موفقيت به پايان رسيد", , "توجه")
Case 7
MsgBox("خطا در ذخيره سازي", , "اخطار")
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CreatDatabase("Test25", Nothing)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
CreatTable("MRZTbl")
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
InsertData("Test2", "MRZTbl")
End Sub

End Class

seyed ehsan
دوشنبه 27 مهر 1388, 14:49 عصر
من از این کد ها استفاده کردم ولی با خطا موجه شدم و ارور میده . میشه شما یه پروژه رو قرار بدی ؟

saadi2
دوشنبه 27 مهر 1388, 22:06 عصر
اینو از همین سایت دانلود کرده بودم

تو کامپیوتر من که کار میکنه

seyed ehsan
سه شنبه 28 مهر 1388, 10:15 صبح
دستت درد نکنه . ولی آخرش برای من کار نکرد