PDA

View Full Version : سوال: چرا به دیتا بیس اظافه نمیکنه این کد؟



koorosh-soft
سه شنبه 23 فروردین 1390, 20:50 عصر
سلام دوستان من تازه با Sql دارم کار میکنم (sql express)
این کد ویبی من هستش اما چیزی اظافه نمی کنه به دیتا بیس در حالی که وقتی دستور Sql خالی شو تو query میزنم جواب میده!
برنامه هم ارور نمیده
چه کنیم ؟
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class Form1
Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Student.mdf;Integrated Security=True;User Instance=True")
Dim cmd As New SqlCommand
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If cnn.State = ConnectionState.Closed Then cnn.Open()
Dim sql As String = "insert into names (name,family,mark) values ('test','Test1','20')"
cmd.CommandText = sql
cmd.Connection = cnn
cmd.ExecuteNonQuery()
End Sub
End Class

mohsencom
سه شنبه 23 فروردین 1390, 21:40 عصر
احتمالا مشکل از کانکشن استرینگه....اینطوری بنویس :

Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|\Student.mdf;Integrated Security=True;")

koorosh-soft
سه شنبه 23 فروردین 1390, 22:16 عصر
Cannot open database "|DataDirectory|\Student.mdf" requested by the login. The login failed.
Login failed for user 'MIT-Group-PC\Dark'.

حالا این ارور رو میده

shadi khanum
سه شنبه 23 فروردین 1390, 22:41 عصر
تیکه کدی که واسه کلیک button نوشتین رو توی بلاک try و Catch بذارید. چون اینجوری اگه Error بده جایی متوجه نمیشید و فقط برنامه اجرا نمیشه ولی با try و Catch اگه به Error بخوره بتون میگه مشکل از کجاست

koorosh-soft
سه شنبه 23 فروردین 1390, 22:44 عصر
کد رو این شکلی کردم باز هم جواب نداد

Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class Form1
Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Student.mdf;Integrated Security=True;User Instance=True")
Dim cmd As New SqlCommand
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
' cnn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Student.mdf;Integrated Security=True;User Instance=True"
If cnn.State = ConnectionState.Closed Then cnn.Open()
Dim sql As String = "insert into names (name,family,mark) values ('koorosh','gh','20')"
cmd.CommandText = sql
cmd.Connection = cnn
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("error" + ex.ToString)
End Try
End Sub
End Class

mohsencom
سه شنبه 23 فروردین 1390, 23:02 عصر
ببخشید قسمت اخرو جا انداختم..به این شکل بنویس :

Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|\Student.mdf;Integrated Security=True;User Instance=True;")

koorosh-soft
سه شنبه 23 فروردین 1390, 23:42 عصر
نشد همون ارور بازم

mohsencom
سه شنبه 23 فروردین 1390, 23:55 عصر
نشد همون ارور بازم

این ارور میگه شما user رو در کانکشن استرینگ درست معرفی نکردی...

اینو امتحان کن...بجای Yourusername یوزری که تو sql ساختی بنویس...بجای YourPassword هم پسورد یوزرو بنویس،اگه پسورد هم نداره خالی بذار جاشو

Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Student.mdf;user id="YourUserName";password="YourPassword";)

اگه این دیگه جواب نده فکر کنم مربوط به تنظیمات sqlت میشه و نمیدونم یوزرها و دسترسیشونو چطوری تعیین کردی...

موفق باشی

koorosh-soft
چهارشنبه 24 فروردین 1390, 00:52 صبح
با این Connection String کار میکنه اما با |DataDirectory| کار نمی کنه!

"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\MIT-Group\Documents\Visual Studio 2005\Projects\Db\Db\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

اما نه با این

Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Student.mdf;Integrated Security=True;User Instance=True")

و نه با این یکی

Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|Student.mdf;Integrated Security=True;User Instance=True")

هیچ کدوم کار نمیکنه

armin8651
چهارشنبه 24 فروردین 1390, 17:20 عصر
http://www.connectionstrings.com

koorosh-soft
چهارشنبه 24 فروردین 1390, 20:14 عصر
http://www.connectionstrings.com

با این هم که از تو این سایته برداشتم نشد

Data Source=.\SQLExpress;Integrated Security=true; AttachDbFilename=|DataDirectory|\student.mdf;User Instance=true;

palang sorati
شنبه 28 خرداد 1390, 15:20 عصر
سلام .

من کد زیر رو توی برنامه ام گذاشتم و روی هاست هم خطا می ده .


con.ConnectionString =



"Data Source=./SQLEXPRESS;Initial Catalog=|DataDirectory|/Project.mdf;Initial Catalog=Project;Integrated Security=True";





وقتی که بک اسلش بزارم هم خطا می ده Unrecognized escape sequence , برا همین هم اسلش رو گذاشتم و این که AttachDbFilename هم روی هاست خطا می داد برداشتم .

با کانکشن استرینگ بالا خطای زیر رو رو هاست می ده :

Exception Details: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)






می شه لطفا من رو راهنمایی کنید ؟

koorosh-soft
شنبه 28 خرداد 1390, 16:44 عصر
"Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|\Project.mdf;Initial Catalog=Project;Integrated Security=True";
مسیر برنامه رو هم از project setting باید به \. تغییر بدی در غیر این صورت بایذ \. رو کلا از کانکشن استرینگ حذف کنی من این کار رو کردم جواب داد


یاد ADODC به خیر هیچ کدوم از بد بختی هارو نداشت

pouyansaraf
یک شنبه 29 خرداد 1390, 14:38 عصر
در این وبسایت کلیه کانکشن استرینگ ها را به روز داده است
http://www.connectionstrings.com/

minaforotan
دوشنبه 30 خرداد 1390, 00:17 صبح
حالا حتمی اشکال از کانکشنه؟
فقط نقطه بزار شاید بشه
.= Data Source