PDA

View Full Version : سوال: مشکل در اتصال به DataBase



ندا2611
یک شنبه 02 فروردین 1388, 09:41 صبح
توی فرمم یه دکمه دارم که قراره اطلاعاتی توی DataBase ذخیره کنه اما فقط یک بار اینکارو میکنه و با دوم به ConnectionString ایراد میگیره.

NullReferenceException was

objCConnection2.objDataAdapter.SelectCommand = objCConnection2.objCommand

Afshin160
یک شنبه 02 فروردین 1388, 09:52 صبح
سلام ...
1- اولا" نوع ديتابيس شما چيه access يا sql ؟
2- تكه كد ذخيره را هم بگذاريد.

3- احتمالا" شما يه id تكراري داريد ... در حالي كه تعيين كرده ايد نبايد تكراري باشد ...

ندا2611
یک شنبه 02 فروردین 1388, 17:58 عصر
دیتا بیس ام Sql.
در مورد id هم هنوز براش کلید تعریف نکردم.

anooshiran
یک شنبه 02 فروردین 1388, 19:41 عصر
سلام دوست عزيز

آيا براي ذخيره سازي از addwithparameters استفاده مي كنيد؟ اگر چنين است ابتدا بايد Clear كنيد .
ولي بهتر است كد خود را بگذاريد تا با حدث و گمان پيش نرويم

ندا2611
دوشنبه 03 فروردین 1388, 09:02 صبح
باز هم همون Error.

ندا2611
دوشنبه 03 فروردین 1388, 09:27 صبح
objCConnection2.objDataAdapter.SelectCommand = objCConnection2.objCommand
objCConnection2.objDataAdapter.SelectCommand.Conne ction = objCConnection2.objConnection
objCConnection2.objDataAdapter.SelectCommand.Comma ndText = "SELECT Tavalood,SabteNam FROM Tarikh"


'Open the database Connection

objCConnection2.objConnection.Close()
objCConnection2.objConnection.Open()
objCConnection2.objDataAdapter.Fill(objCConnection 2.objDataSet, "Tarikh")
objDataView = New DataView(objCConnection2.objDataSet.Tables("Tarikh"))
objCConnection2.objCommand.CommandText = "INSERT INTO Tarikh (Tavalood,SabteNam) VALUES( @Tavalood,@SabteNam)"


objCConnection2.objCommand.Parameters.AddWithValue ("@Tavalood", ShamsiToMiladi(MaskedTextBox1.Text))
objCConnection2.objCommand.Parameters.AddWithValue ("@SabteNam", ShamsiToMiladi(Me.MaskedTextBox2.Text))
objCConnection2.objCommand.ExecuteNonQuery()
objCConnection2.objConnection.Close()
objCConnection2.objConnection = Nothing

objCConnection2.objCommand = Nothing

objCConnection2.objDataAdapter = Nothing

objCConnection2.objDataSet = Nothing



این کدها قراره تاریخو توی دیتابیس ذخیره کنه.

anooshiran
دوشنبه 03 فروردین 1388, 09:43 صبح
سلام دوست عزيز





With objCConnection2.objCommand
.CommandText = "INSERT INTO Tarikh (Tavalood,SabteNam) VALUES( @Tavalood,@SabteNam)"
.Clear
.Parameters.AddWithValue("@Tavalood", ShamsiToMiladi(MaskedTextBox1.Text))
.Parameters.AddWithValue("@SabteNam", ShamsiToMiladi(Me.MaskedTextBox2.Text))
.ExecuteNonQuery
.Close
EndWith



من فقط يه كد شما، يك Clear اضافه كردم. تست كن ببين جواب مي گيري

اوبالیت به بو
دوشنبه 03 فروردین 1388, 16:16 عصر
NullReferenceException was


من فكر مي كنم علت اين خطا اين باشه كه هيچ شي نمونه اي در حافظه ساخته نشده. اصلاً چرا اين طوري بگم قبل از اينكه object شما در حافظه ساخته بشه هيچ مرجع يا refrence خاصي ساخته نشده تا بخواد object اون ساخته بشه.


objCConnection2.objDataAdapter.SelectCommand = objCConnection2.objCommand


آيا objCommand و objDataAdapter مرجعي ازشون ساخته شده يا نه؟ البته بازم فكر مي كنم اين روش شما جواب بده چون شما به جاي تعريف چندين object همه رو در غالب يك sqlConnection داريد استفاده مي كنيد. بازم مي گم چون من تا به حال اينجوري ننوشتم نمي تونم نظر خاصي بدم ولي امتحانش ضرر نداره يك بار جداگانه اشيا رو بسازيد.

ندا2611
دوشنبه 03 فروردین 1388, 17:32 عصر
قبل از نوشتن این کدها توی یک کلاس اشیا Connection میسازم.