ورود

View Full Version : سوال: error در اتصال به دیتابیس



saeed_sho
شنبه 22 مرداد 1390, 11:45 صبح
سلام من با ویژوال استودیو 2008 بدون سرویس پک یه برنامه درست کردم که با کانکشن استرینگ به دیتابیسی که با sql server 2008 developer R2 درست کردم متصل میشه دیتابیسو dettach کردم و با attachDbfilename اونو attach کردم به اس کیو ال اکسپرس اما این ارورو میده
The database 'D:\VISUAL STUDIO 8.0\VB\VBPROJECTS\PERSONALS PAYMENT\PERSONALS PAYMENT\BIN\DEBUG\PERSONALS.MDF' cannot be opened because it is version 661. This server supports version 612 and earlier. A downgrade path is not supported. Could not open new database 'D:\VISUAL STUDIO 8.0\VB\VBPROJECTS\PERSONALS PAYMENT\PERSONALS PAYMENT\BIN\DEBUG\PERSONALS.MDF'. CREATE DATABASE is aborted. An attempt to attach an auto-named database for file D:\visual studio 8.0\VB\VBProjects\Personals Payment\Personals Payment\bin\Debug\Personals.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share
منظورش از ورژن661 چیه؟ در ضمن ویندوزم سونه
اگه کسی میدونه لطفا راهنمایی کنه
ممنونم
مدیر سایت این تاپیکو حذف یا جابجا نکن.

saeed_sho
دوشنبه 24 مرداد 1390, 15:25 عصر
سلام
می خواستم برنامه رو اپلود کنم اما تا وسطش لود میکنه بعد قطع میشه هر کی میخواد برنامه رو تست کنه ایمیلشو بده براش بفرستم

milad.biroonvand
پنج شنبه 27 مرداد 1390, 23:16 عصر
اس کیو ال ات احتمالا آپدیت شده و تو بانکت دستکاری کردی ، حالا ویندوز عوض کردی و حالا بانکت رو نمی خونه ، آپدیت آخر اس کیو الت رو از سایت مایکروسافت بگیرو نصب کن .

saeed_sho
جمعه 28 مرداد 1390, 15:22 عصر
سلام دیتابیس های جدید درست میکنم همون ارورو میده فکر کنم حق با شما باشه تازگی ها ویندوزمو عوض کردم رفتم توی سایت مایکروسافت اما چیزه زیادی پیدا نکردم راه دیگه ای نداره یا حداقل میشه بگی کدوم اپدیتو بریزم یه سریاشون حجمشون خیلی زیاده
ممنونم

saeed_sho
جمعه 28 مرداد 1390, 17:19 عصر
سلام بدون نصب اپدیت چطوری میشه درستش کرد؟ منظورم اینه که با uninstall میشه؟
میشه راهنمایی کنید کارم گیره
ممنونم

ahmadreza517
جمعه 28 مرداد 1390, 18:47 عصر
سلام دوست عزیز
می تونی ویندوز روی virtual Machine نصب کنی .
برنامه رو بفرست ببینم تا مشکلت حل شد .
Ahmadreza517@gmail.com

M.KH-SH
یک شنبه 30 مرداد 1390, 02:44 صبح
بانک های اطلاعاتی روی بعضی از ویندوز های 64 ویستا و 7 گیر می دن و بالا نمیان
اگه کلا هیچ جدولی از بانک باز نمیشه حتی با select * بهتره که ویندوز رو به 32 تغییر بدی و یا به xp 32 تغییر بدی اینجوری کارت راه می یوفته

saeed_sho
یک شنبه 30 مرداد 1390, 12:27 عصر
سلام ویندوزم 7 اونم 32 بیت بود یه مشکلی پیش اومد مجبور شدم دوباره نصبش کنم حالا همونه. وقتی میخوام با dataAdapter دیتاگریدو با select * پر کنم ارور میده همون اروری که توی پست اول گذاشتم در ضمن موقع تغییر ویندوز ویژوال استودیوم تو درایو d بود حالا به نظرتون با uninstall کردن درست میشه؟ اصلا کدومو uninstall کنم اس کیو ال یا ویژوال استودیو؟ نمیخوام ویندوزمو xp کنم چه راهی پیشنهاد میکنید؟
در مورد virtual machine یکم بیشتر توضیح بدید.
کارم خیلی گیره هیچ برنامه ای نمیتونم درست کنم که دیتابیس داشته باشه ممنون میشم راهنمایی کنید

M.KH-SH
یک شنبه 30 مرداد 1390, 13:00 عصر
دوست عزیز یک پروژه با بانک sql گیر بیار که درست کا کنه ببین بازم گیر میده یا نه
اگه گیر داد خبر بده

saeed_sho
یک شنبه 30 مرداد 1390, 14:35 عصر
سلام با دو تا برنامه ای که از همین سایت دانلود کردم و توسط alimanam درست شده بود ازمایش کردم هیچ مشکلی نداشت حتی اطلاعاتو اضافه حذف و پاک هم کردم اما برنامه ی خودمو فقط ارور میده موقع لود شدن باید dataAdapter دیتاگریدویو رو مقدار دهی کنه که ارور میده کدشو میذارم در ضمن کداشو خیلی شبیه برنامه ی alimanam نوشتم توی برنامه ی جدا با دیتابیسی که خودم درست کردم
Imports System.Data.SqlClient

Public Class PersonalPaymentForm
Private constr As String = "Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirector y|\Personals.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
Private con As SqlConnection
Private command As SqlCommand
Private da As SqlDataAdapter
Private dt As DataTable

Private Sub browseButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles browseButton.Click
ReloadRecords()
End Sub

Private Sub PersonalPaymentForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReloadRecords()
End Sub
Private Sub ReloadRecords()
da = New SqlDataAdapter("SELECT * FROM PersonalsInfo", constr)
dt = New DataTable
da.Fill(dt)
DataGridView1.DataSource = dt
End Sub

Private Sub insertButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles insertButton.Click
Try
If fnTextBox.Text = String.Empty AndAlso lnTextBox.Text = String.Empty AndAlso payTextBox.Text = String.Empty _
AndAlso IsNumeric(payTextBox.Text) Then
MsgBox("Please enter firstname and lastname and payment", MsgBoxStyle.Exclamation)
End If
If CheckPersonExist(fnTextBox.Text, lnTextBox.Text) = False Then
Dim con As SqlConnection = New SqlConnection(constr)
If con.State = ConnectionState.Closed Then con.Open()
Try
command = New SqlCommand("INSERT INTO PersonalsInfo (FirstName,LastName,Payment) VALUES(@fname,@lname,@pay)", con)
With command
.Parameters.Clear()
.Parameters.AddWithValue("@fname", fnTextBox.Text)
.Parameters.AddWithValue("@lname", lnTextBox.Text)
.Parameters.AddWithValue("@pay", payTextBox.Text)
command.ExecuteNonQuery()
End With
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "Error Happened for add new record")
End Try
ReloadRecords()
Else
MsgBox("Person was save in database", MsgBoxStyle.Exclamation)
End If
con.Close()
Catch ex As Exception
con.Close()
MsgBox(Err.Description, MsgBoxStyle.Critical, "Error Happened for connect to database")
End Try
End Sub

Private Sub deleteButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles deleteButton.Click
Try
If DataGridView1.Rows.Count = 0 Then
MsgBox("No record was for delete", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim mres As DialogResult = CType(MsgBox("Do you want really to delete row?", CType(MsgBoxStyle.Question + MsgBoxStyle.YesNo, MsgBoxStyle)), Windows.Forms.DialogResult)
If mres = Windows.Forms.DialogResult.Yes Then
Dim con As SqlConnection = New SqlConnection(constr)
If con.State = ConnectionState.Closed Then con.Open()
Try
command = New SqlCommand("DELETE * FROM PersonalsInfo WHERE ID = " & DataGridView1.CurrentRow.Cells(0).Value, con)
command.ExecuteNonQuery()
MessageBox.Show("Done !")
ReloadRecords()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "Error while delete record")
End Try
End If
con.Close()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Exclamation)
End Try
End Sub

Private Sub updateButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles updateButton.Click
Try
If DataGridView1.Rows.Count = 0 Then
MsgBox("Please enter firstname and lastname and payment", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim con As SqlConnection = New SqlConnection(constr)
If con.State = ConnectionState.Closed Then con.Open()
Try
command = New SqlCommand("UPDATE PersonalsInfo SET FirstName =@fname,LastName=@lname,Payment=@pay WHERE ID=" & DataGridView1.CurrentRow.Cells(0).Value, con)
With command
.Parameters.Clear()
.Parameters.AddWithValue("@fname", fnTextBox.Text)
.Parameters.AddWithValue("@lname", lnTextBox.Text)
.Parameters.AddWithValue("@pay", payTextBox.Text)
.ExecuteNonQuery()
End With
ReloadRecords()
con.Close()
Catch ex As Exception
con.Close()
MsgBox(Err.Description, MsgBoxStyle.Exclamation, "Error while update record")
End Try
Catch ex As Exception
con.Close()
MsgBox(Err.Description, MsgBoxStyle.Exclamation, "Error while connect to database")
End Try
End Sub

Private Sub reportButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles reportButton.Click

End Sub

Private Function CheckPersonExist(ByVal fName As String, ByVal lName As String) As Boolean
Try
Dim con As SqlConnection = New SqlConnection(constr)
command = New SqlCommand("SELECT * FROM PersonalsInfo", con)
If con.State = ConnectionState.Closed Then con.Open()
Dim reader As SqlDataReader
reader = command.ExecuteReader
Dim value As Boolean
While reader.Read
If fName = reader.GetString(0) And lName = reader.GetString(1) Then
Return True
Exit While
End If
End While
If value Then
reader.Close()
Return True
Else
reader.Close()
Return False
End If
Catch ex As Exception
con.Close()
MsgBox(Err.Description, MsgBoxStyle.Critical, "Error while knowing firstname and lastname")
End Try
End Function

Private Sub DataGridView1_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
If DataGridView1.Rows.Count > 0 Then
fnTextBox.Text = DataGridView1.CurrentRow.Cells(1).Value
lnTextBox.Text = DataGridView1.CurrentRow.Cells(2).Value
payTextBox.Text = DataGridView1.CurrentRow.Cells(3).Value
End If
End Sub

Private Sub searchTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles searchTextBox.TextChanged
Try
If searchTextBox.Text = String.Empty Then ReloadRecords() : Exit Sub
Dim sqlcmd As String = ""
Select Case ComboBox1.SelectedIndex
Case Is = 0
sqlcmd = "SELECT * FROM PersonalsInfo WHERE ID LIKE N'%" & searchTextBox.Text & "%'"
Case Is = 1
sqlcmd = "SELECT * FROM PersonalsInfo WHERE FirstName LIKE N'%" & searchTextBox.Text & "%'"
Case Is = 2
sqlcmd = "SELECT * FROM PersonalsInfo WHERE LastName LIKE N'%" & searchTextBox.Text & "%'"
Case Is = 3
sqlcmd = "SELECT * FROM PersonalsInfo WHERE Payment LIKE N'%" & searchTextBox.Text & "%'"
End Select
da = New SqlDataAdapter(sqlcmd, constr)
dt = New DataTable
da.Fill(dt)
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "Error while connect to database")
End Try
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
searchTextBox.Focus()
End Sub
End Class

M.KH-SH
یک شنبه 30 مرداد 1390, 14:46 عصر
دوست عزیز connection رو درست تعریف میکنی؟
دستور کوئری رو هم چک کن و بعد بریز تو دیتا آدابتر
da = New SqlDataAdapter("SELECT * FROM PersonalsInfo", constr)
da.fill(ds,"name jadval")

saeed_sho
یک شنبه 30 مرداد 1390, 16:23 عصر
دوست عزیز اگه کدا رو دیده باشی من دیتاست ندارم و بجای اون دیتاتیبل گذاشتم فکر نکنم فرق چندانی داشته باشه دیدم که همه از اون استفاده میکنند. همه چی رو چک کردم دیگه نمیدونم چکارش کنم برنامه های بقیه راحت توی کامپیوترم اجرا میشه اما مال خودم نه فکر نمی کنید اشکال از ویژوال استودیوم یا اس کیو ال باشه اخه ویندوزم رو تازه عوض کردم
دیگه کلافه شدم لطفا راهنمایی کنید

saeed_sho
دوشنبه 07 شهریور 1390, 16:41 عصر
سلام
مشکلم حل نشده با ویژوال استودیو 2010 یه برنامه درست کردم با یه دیتابیس دیگه هم که تازه درست کردم هم امتحان کردم وصل نشد دو هفته است که با این مشکل در گیرم برنامه های بقیه رو دانلود کردم بدون مشکل اجرا میشه فقط به برنامه های خودم گیر میده الان با vs2010 و sql server 2008 developer R2 استفاده کردم توی 7 همون اروری که توی تاپیک اول گذاشتمو میده
لطفا راهنمایی کنید کارم خیلی گیره
راستی توی نمونه کدای همراه vs2010 دیدم که دیتابیسو با وی بی ایجاد میکرد برناممو اونجوری تغییر دادم به نظرم مشکلش زیاده اینم کدهاشه برای بهتر شدنش پیشنهاد بدید
ارور برنامه هام درست نمیشه مجبورم اینجوری درست کنم البته با این روش به دیتابیس وصل میشه اما مشکلایه خودشو داره
ممنون میشم راهنمایی کنید
Imports System.Data.SqlClient
Imports System.Data
Imports System.IO

Public Class EmployeesPaymentForm

Private constring As String = "Server=(local);Database=;Integrated Security=SSPI"
Private conn As SqlConnection
Private command As SqlCommand
Private da As SqlDataAdapter
Private ds As DataSet

Private Sub insertButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles insertButton.Click
Try
If fnameTextBox.Text = String.Empty Or lnameTextBox.Text = String.Empty Or payTextBox.Text = String.Empty _
Or Not IsNumeric(payTextBox.Text) Then
MessageBox.Show("لطفأ نام و نام خانوادگی و حقوق را وارد کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
If CheckEmployeeExist(fnameTextBox.Text, lnameTextBox.Text) = False Then
conn = New SqlConnection(constring)
If conn.State = ConnectionState.Closed Then conn.Open()
Try
command = New SqlCommand("INSERT INTO EmployeesInfo (FirstName,LastName,Payment) VALUES(@fname,@lname,@pay)", conn)
With command
.Parameters.Clear()
.Parameters.AddWithValue("@fname", fnameTextBox.Text)
.Parameters.AddWithValue("@lname", lnameTextBox.Text)
.Parameters.AddWithValue("@pay", payTextBox.Text)
.ExecuteNonQuery()
End With
Catch ex As Exception
MessageBox.Show(Err.Description, "Error For Happened Add New Record", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
ReloadRecords()
Else
MessageBox.Show("مشخصات این شخص قبلآ در دیتابیس وارد شده است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
conn.Close()
Catch ex As Exception
MessageBox.Show(Err.Description, "Error Happened for connect to database", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub

Private Sub ReloadRecords()
DataGridView1.DataBindings.Clear()
conn = New SqlConnection(constring)
ds = New DataSet
ds.Clear()
da = New SqlDataAdapter("SELECT * FROM EmployeesInfo", conn)
If conn.State = ConnectionState.Closed Then conn.Open()
da.Fill(ds, "EmployeesInfo")
DataGridView1.DataBindings.Add(New Binding("DataSource", ds, "EmployeesInfo"))
End Sub

Private Sub EmployeesPaymentForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not File.Exists("C:\ProgramFiles\Microsoft SQL Server\MicrosoftSQL10_50.MSSQLSERVER\MSSQL\DATA\Em ployees.mdf") Then
Me.Cursor = Cursors.WaitCursor
CreateDB()
CreateTable()
Me.Cursor = Cursors.Default
creatdbButton.Enabled = False
Else
creatdbButton.Enabled = False
End If
ComboBox1.SelectedIndex = 1
ReloadRecords()
End Sub

Private Function CheckEmployeeExist(ByVal fname As String, ByVal lname As String) As Boolean
Try
conn = New SqlConnection(constring)
command = New SqlCommand("SELECT * FROM EmployeesInfo", conn)
If conn.State = ConnectionState.Closed Then conn.Open()
Dim reader As SqlDataReader
reader = command.ExecuteReader
Dim value As Boolean
While reader.Read
If fname = reader.GetString(1) And lname = reader.GetString(2) Then
Exit While
Return True
End If
End While
If value Then
reader.Close()
Return True
Else
reader.Close()
Return False
End If
Catch ex As Exception
conn.Close()
MessageBox.Show(Err.Description, "خطا هنگام شناسایی رکورد جدید", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Function

Private Sub deleteButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles deleteButton.Click
Try
If DataGridView1.Rows.Count = 0 Then
MessageBox.Show("رکوردی برای حذف وجود ندارد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
Dim mres As DialogResult = MessageBox.Show("آیا واقعأ قصد حذف این رکورد را دارید؟", "خطا", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If mres = Windows.Forms.DialogResult.Yes Then
conn = New SqlConnection(constring)
If conn.State = ConnectionState.Closed Then conn.Open()
Try
command = New SqlCommand("DELETE FROM EmployeesInfo WHERE ID = " & Convert.ToInt32(DataGridView1.CurrentRow.Cells(0). Value), conn)
command.ExecuteNonQuery()
ReloadRecords()
Catch ex As Exception
MessageBox.Show(Err.Description, "خطا هنگام حذف رکورد", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End If
conn.Close()
Catch ex As Exception
conn.Close()
MessageBox.Show(Err.Description, "خطا هنگام اتصال به دیتابیس", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub

Private Sub updateButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles updateButton.Click
Try
If fnameTextBox.Text = String.Empty Or lnameTextBox.Text = String.Empty Then
MessageBox.Show("لطفأ نام و نام خانوادگی را وارد کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
conn = New SqlConnection(constring)
If conn.State = ConnectionState.Closed Then conn.Open()
Try
command = New SqlCommand("UPDATE EmployeesInfo SET FirstName=@fname,LastName=@lname,Payment=@pay WHERE ID= " & Convert.ToInt32(DataGridView1.CurrentRow.Cells(0). Value), conn)
With command
.Parameters.Clear()
.Parameters.AddWithValue("@fname", fnameTextBox.Text)
.Parameters.AddWithValue("@lname", lnameTextBox.Text)
.Parameters.AddWithValue("@pay", payTextBox.Text)
.ExecuteNonQuery()
End With
ReloadRecords()
conn.Close()
Catch ex As Exception
conn.Close()
MessageBox.Show(Err.Description, "خطا هنگام ویرایش رکورد", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
Catch ex As Exception
conn.Close()
MessageBox.Show(Err.Description, "خطا در هنگام اتصال به دیتابیس", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub

Private Sub DataGridView1_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
If DataGridView1.Rows.Count > 0 Then
fnameTextBox.Text = Convert.ToString(DataGridView1.CurrentRow.Cells(1) .Value)
lnameTextBox.Text = Convert.ToString(DataGridView1.CurrentRow.Cells(2) .Value)
payTextBox.Text = Convert.ToString(DataGridView1.CurrentRow.Cells(3) .Value)
End If
End Sub

Private Sub searchButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles searchButton.Click
Try
If searchTextBox.Text = String.Empty Then ReloadRecords() : Exit Sub
Dim sqlcmd As String = ""
Select Case ComboBox1.SelectedIndex
Case Is = 0
sqlcmd = "SELECT * FROM EmployeesInfo WHERE FirstName LIKE N'%" & searchTextBox.Text & "%'"
Case Is = 1
sqlcmd = "SELECT * FROM EmployeesInfo WHERE LastName LIKE N'%" & searchTextBox.Text & "%'"
End Select
conn = New SqlConnection(constring)
DataGridView1.DataBindings.Clear()
ds = New DataSet
ds.Clear()
da = New SqlDataAdapter(sqlcmd, conn)
da.Fill(ds, "EmployeesInfo")
DataGridView1.DataBindings.Add(New Binding("DataSource", ds, "EmployeesInfo"))
Catch ex As Exception
MessageBox.Show(Err.Description, "خطا هنگام جستجو", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub

Private Sub searchTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles searchTextBox.TextChanged
Try
If searchTextBox.Text = String.Empty Then ReloadRecords() : Exit Sub
Dim sqlcmd As String = ""
Select Case ComboBox1.SelectedIndex
Case Is = 0
sqlcmd = "SELECT * FROM EmployeesInfo WHERE FirstName LIKE N'%" & searchTextBox.Text & "%'"
Case Is = 1
sqlcmd = "SELECT * FROM EmployeesInfo WHERE LastName LIKE N'%" & searchTextBox.Text & "%'"
End Select
conn = New SqlConnection(constring)
DataGridView1.DataBindings.Clear()
ds = New DataSet
ds.Clear()
da = New SqlDataAdapter(sqlcmd, conn)
da.Fill(ds, "EmployeesInfo")
DataGridView1.DataBindings.Add(New Binding("DataSource", ds, "EmployeesInfo"))
Catch ex As Exception
MessageBox.Show(Err.Description, "خطا هنگام جستجو", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub

Private Sub CreateDB()
Dim sqlStatement As String = "IF EXISTS (SELECT * FROM master..sysdatabases WHERE NAME= 'Employees') " & vbCrLf & _
"DROP DATABASE Employees " & vbCrLf & _
"CREATE DATABASE Employees"
Try
constring = "Server=(local);Database=;Integrated Security=SSPI"
conn = New SqlConnection(constring)
If conn.State = ConnectionState.Closed Then conn.Open()
command = New SqlCommand(sqlStatement, conn)
command.ExecuteNonQuery()
conn.Close()
Catch sqlex As SqlException
MessageBox.Show(Err.Description, "SQL Exception Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Catch ex As Exception
MessageBox.Show(Err.Description, "Connection failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub

Private Sub CreateTable()
Dim strSql As String = "USE Employees" & vbCrLf & _
"IF EXISTS(SELECT * FROM Employees.dbo.sysobjects WHERE NAME ='EmployeesInfo' AND TYPE ='u')" & vbCrLf & _
"BEGIN" & vbCrLf & "DROP TABLE Employees.dbo.EmployeesInfo" & vbCrLf & "END" & vbCrLf & _
"CREATE TABLE EmployeesInfo (ID int IDENTITY(1,1) NOT NULL, FirstName nvarchar(30) NOT NULL, LastName nvarchar(30) NOT NULL," & vbCrLf & _
"Payment money NOT NULL)"
Try
conn = New SqlConnection(constring)
command = New SqlCommand(strSql, conn)
If conn.State = ConnectionState.Closed Then conn.Open()
command.ExecuteNonQuery()
conn.Close()
Catch ex As Exception
MessageBox.Show(Err.Description, "Sql Exception Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
End Class

saeed_sho
دوشنبه 07 شهریور 1390, 16:49 عصر
سلام
اگه به کدها توجه کنید ستود ID جدولو با identity تعریف کردم اما موقع وارد کردن داده اونو وارد نمیکنم اون باید خودش زیاد بشه اما موقع وارد کردن داده ارور میده که باید وارد بشه
لطفا رانمایی کنید ابن اولین باره که دارم از connection string استفاده میکنم

saeed_sho
دوشنبه 07 شهریور 1390, 17:21 عصر
مگه شماها دیتابیس هارو با نسخه ی developer درست نمیکنید؟

Behzad_MCP
دوشنبه 07 شهریور 1390, 17:51 عصر
دوست عزیز کدتو تا ته نخوندم ولی همون اولش تو کانکشن استرینگ اسم دیتابیسو ننوشتی ؟!
Private constring As String = "Server=(local);Database=;Integrated Security=SSPI"

saeed_sho
دوشنبه 07 شهریور 1390, 18:13 عصر
با این کد به دیتابیس وصل میشه و اونو به اس کیو ال attach هم میکنه اما وقتی ادرس میدم مثل اونی که در تاپیک 10 گذاشته بودم ارور میده میدونم منظوره شما تقریبا اونی که توی تاپیک 10 نوشتم. اینو از نمونه کدای خود vs2010 برداشتم مال وقتی که هنوز دیتابیس ایجاد نشده.
من تازه کارم شما یه لطفی بکن کدای تاپیک 10 بخون ببین مشکل داره اگه نداره چرا اون اروری که توی تاپیک 1 گذاشتم میده.؟
این کد فعلا تا حل شدن مشکل داره اجرا میشه اگه پیشنهادی برای تغییر و بهبودی داری ممنون میشم بگی

saeed_sho
دوشنبه 07 شهریور 1390, 19:29 عصر
سلام حق با شما بود الان کانکشن استرینگم اینه اما ارور میده که مجوز لاگین ندارم چکارش کنم با role application حل میشه؟
Private constring As String = "Server=(local);Database=|DataDirectory|\Employees. mdf;Integrated Security=True"
ممنون میشم راهنمایی کنید