PDA

View Full Version : سوال: پیغام خطا هنگام ذخیره اطلاعات توی دیتابیس



irantkd
پنج شنبه 14 شهریور 1387, 17:28 عصر
من یه برنامه دارم که اطلاعات رو از کاربر دریافت میکنه و توی دیتابیس ذخیره میکنه . اما وقتی که روی دکمه ذخیره کلیک میکنم ، روی عبارت Cmd. ExecuteNonQuery پیغام خطا میده . میشه مشکل کد زیر رو بهم بگید ! ؟
ممنون




Protected Sub cmdSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSave.Click
Dim strCon As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|//Shop_db.mdb;Persist Security Info=True")
Dim strSQL As String = ("INSERT INTO Buy(Productive, ProductName, Quantity, Postage, Total, FLname, Email, FullAdress, PostCode, Tel\Mobile, BuyDate, Status_Send, CrackOrder) VALUSE ('" + lblProductive.Text + "','" + lblProductName.Text + "','" + TextBox4.Text + "','" + lblPostage.Text + "','" + lblSum.Text + "','" + lblFLname.Text + "','" + TextBox3.Text + "','" + lblFullAddress.Text + "','" + TextBox7.Text + "','" + lblTelMob.Text + "','" + lblDateTime.Text + "','" + lblStatusSend.Text + "','" + lblCrackOrder.Text + "')")
Dim Con As OleDbConnection
Dim Cmd As OleDbCommand
Con = New OleDbConnection(strCon)
Cmd = New OleDbCommand(strSQL)
Con.Open()
Cmd.Connection = Con
Cmd.ExecuteNonQuery()
Con.Close()
End Sub

salehbagheri
پنج شنبه 14 شهریور 1387, 17:40 عصر
اولاً: چون داري با VB.NET مي نويسي، اين طور آدرس دادن اشتباه است! (از يك Slash استفاده كنيد!)


Dim strCon As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|//Shop_db.mdb;Persist Security Info=True")

ثانيا: سعي كنيد Connection را از داخل فايل Web.config فراخواني كنيد:


Dim strCon As String = ConfigurationManager.ConnectionString.Item("ConnectionString").ToString


سوماً: متغيرها يا پارامترها رو بايد تعريف كني! اين جوري فايده نداره!

Dim strSQL As String = ("INSERT INTO Buy(Productive, ProductName, Quantity, Postage, Total, FLname, Email, FullAdress, PostCode, Tel\Mobile, BuyDate, Status_Send, CrackOrder) VALUSE ('" + lblProductive.Text + "','" + lblProductName.Text + "','" + TextBox4.Text + "','" + lblPostage.Text + "','" + lblSum.Text + "','" + lblFLname.Text + "','" + TextBox3.Text + "','" + lblFullAddress.Text + "','" + TextBox7.Text + "','" + lblTelMob.Text + "','" + lblDateTime.Text + "','" + lblStatusSend.Text + "','" + lblCrackOrder.Text + "')")


مثال:

Insert.Parameters.Add("Email",TextBox1.Text)

IranVisual
پنج شنبه 14 شهریور 1387, 17:46 عصر
Dim coon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("~") & "\Data\St.mdb")



Private Sub InsertIntoLink()
Dim obj As New OleDbCommand
obj.Connection = coon
obj.CommandText = "Insert Into LinkDostan(ID,NMozo,NLink)values(@ID,@NMozo,@NLink )"
Dim objmax As New OleDbCommand("select max(ID) from LinkDostan", coon)
coon.Open()
Dim maxid As Object = objmax.ExecuteScalar
If maxid Is DBNull.Value Then
maxid = 0
End If
coon.Close()
obj.Parameters.AddWithValue("@ID", maxid + 1)
obj.Parameters.AddWithValue("@NMozo", Me.TextBox1.Text)
obj.Parameters.AddWithValue("@NLink", TextBox2.Text)
coon.Open()
obj.ExecuteNonQuery()
coon.Close()
End Sub