PDA

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



Spate
جمعه 19 تیر 1388, 19:19 عصر
سلام دوستان

یه سئوال داشتم در مورد استفاده از بانک اکسس.

وقتی که یه صفحه می‌سازم تا اطلاعات رو در دیتابیس ثبت کنه تا وقتی که روی ویزوال استدیو اجرا میشه هیچ مشکلی نداره ولی وقتی روی سرور یا LOCAL IIS پابلیش می‌کنم دیگه ثبت اطلاعات تو دیتابیس انجام نمی‌شه!!! :عصبانی++:

لطفاً راهنمایی کنید.
با تشکر

hobab-theme
جمعه 19 تیر 1388, 20:11 عصر
خوب شما اگر احتمالاً خطایی دریافت میکنید یا ... اون رو ذکر کنید
در ضمن کدتون رو هم اگه میتونید بذارید تا دوستان بتونن دقیق راهنماییتون کنن

Spate
شنبه 20 تیر 1388, 00:19 صبح
این کد رو بعنوان مثال گذاشتم.
کانکشن استرینگ:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\regMDB.mdb"

دیتابیس هم تو دایرکتوری App_Data هست



ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click
Dim oldM, newM As Double
Dim rowInt As Integer
rowInt = CInt(txt_row.Text)
oldM = CDbl(txt_oldM.Text)
newM = CDbl(txt_newM.Text)
Try
cnn.ConnectionString = ConfigurationManager.ConnectionStrings("testConnection").ToString
cnn.Open()
cmd.Connection = cnn
cmd.CommandText = "INSERT INTO tbl_main (fld_row, fld_oldM, fld_newM) VALUES(" & rowInt & ", " & oldM & ", " & newM & ")"
cmd.ExecuteNonQuery()
cnn.Close()
Catch ex As Exception
Throw ex
EndTry
txt_newM.Text = String.Empty
txt_oldM.Text = String.Empty
txt_row.Text = String.Empty
EndSub


اگه ستوال دیگه‌ای هست واسه اطلاعات بیشتر جواب میدم.
البته این کد ارور نمیده و فقط اطلاعات ثبت نمی‌شه!

hobab-theme
شنبه 20 تیر 1388, 01:01 صبح
شما یکم کار رو واسه خودتون مشکل کردید
من یه نمونه ساده براتون گذاشتم


ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs)
'Create ConnectionString
Dim con AsNew OleDbConnection(ConfigurationManager.ConnectionStr ings("Database").ConnectionString)

'Create Commands
Dim cmd AsNew OleDbCommand("INSERT INTO TableName (column1,column2) VALUES (@column1,@column2)", con)
cmd.Parameters.AddWithValue("@column1", TextBox1.Text)
cmd.Parameters.AddWithValue("@column2", TextBox2.Text)
Using con
con.Open()
cmd.ExecuteNonQuery()
EndUsing
EndSub

تو این مثال من کانکشن استرینگم رو تو فایل پیکربندی گذاشتم . Database نام ارجاعی به اون هست
و در ضمن متغیرهام رو از طریق ایجاد پارامترها به کامند فرستادم
شما میتونید این کد رو تغییری بدید و مثلاً امکان فرستادن اطلاعات به کش رو به اون اضاف کنید ( بستگی به خودتون داره )
موفق باشید

Spate
شنبه 20 تیر 1388, 14:56 عصر
یه مشکل با این کد هست!
در واقع یک ارور.
Operation must use an updateable query