PDA

View Full Version : سوال: مشکل در ثبت اطلاعات خرید مشتری



roodgoneh
دوشنبه 27 خرداد 1387, 11:34 صبح
سلام.من سبد خریدی با hashtable دارم .این سبد بعد ازاینکه مشتری خرید کرد درخواست ثبت اطلاعات مشتری میکنه تا اینجا کار میکنه واطلاعات وارد جدول مشتری میشه اما وقتی که مشتری رو دکمه ثبت خرید کلیک میکنه اطلاعات وارد جدول سفارش نمیشه:افسرده::ناراحت::اشتبا :
لطفا به کد زیر توجه کنید .از خط سبز رنگ ایراد میگیره:



Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim hh As Hashtable = Session("basket")
Dim hp As Hashtable = Session("price")
Dim s1 As Integer
Dim j As Integer = 0
Dim sql As String
Dim cmd As SqlCommand
Dim conn As New SqlConnection
Dim reader As SqlDataReader
Dim lastcode As Integer = 0
da = New SqlDataAdapter("select part_properties,part_id from [parts]", con)
da.Fill(ds, "parts")

For Each ss As String In hh.Keys

For j = 0 To hh.Count - 1
If (ds.Tables("parts").Rows(j).Item(0) = ss) Then
Exit For
End If
Next
s1 = ds.Tables("parts").Rows(j).Item(1)
conn.ConnectionString = s
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
sql = "SELECT MAX(requsted_code) FROM requsted"
cmd = New SqlCommand(sql, conn)
reader = cmd.ExecuteReader
If (reader.Read()) Then
lastcode = reader.GetInt32(0)
End If
reader.Close()
Dim A1 As New SqlClient.SqlParameter("@a1", System.Data.SqlDbType.NVarChar, 20)
Dim A2 As New SqlClient.SqlParameter("@a2", System.Data.SqlDbType.NVarChar, 20)
Dim A3 As New SqlClient.SqlParameter("@a3", System.Data.SqlDbType.NVarChar, 10)
Dim A4 As New SqlClient.SqlParameter("@a4", System.Data.SqlDbType.NVarChar, 3)
Dim c As New SqlClient.SqlCommand("insert into requsted(requsted_code,customer_code,part_id,part_ number) values (@a1,@a2,@a3,@a4)", con)

A1.Value = lastcode + 1
A2.Value = custcode
A3.Value = s1
A4.Value = hh(ss)
c.Parameters.Add(A1)
c.Parameters.Add(A2)
c.Parameters.Add(A3)
c.Parameters.Add(A4)
con.Open()
c.ExecuteNonQuery()
con.Close()
conn.Close()
Next


خطاش هم اینه:

Object reference not set to an instance of an object.

yasak55
چهارشنبه 29 خرداد 1387, 00:43 صبح
سلام،
اگه برنامه رو بذاری تو حالت debug و مقدار Session("basket") رو بررسی کنی، مقدار ذخیره شده داخلش چی هست؟ آیا مطمئنی که null نیست؟
این error احتمالا به این دلیل هست که مقدار Session("basket") خالی هست و یا اسم session رو اشتباه تایپ کردی که در نتیجه به یه مقدار null ارجاع داده می شه.