PDA

View Full Version : save data



taheri-ali
شنبه 22 تیر 1387, 09:23 صبح
سلام
من يه سئوال دارم و اون اين كه يه برنامه هست كه من عملهاي move,delete ,add new, save رو توي اون نمي خوام با binding navigator انجام بدم مي شه منو راهنمايي كنيد در خصوص كدهاي مربوطه؟
ببينيد از ديتورات sql (insert ,delete)مي شه استفاده كرد اما احساس مي كنم كه اين راهش نيست چون بعد از انجام اون بايد حتماً dataset رو دوباره fill كني كه اين كار روي سرور بار مي ذاره مي دونم از يه چيزايي مثل new data row‌ اما چطوري؟ ممنون

salehbagheri
شنبه 22 تیر 1387, 15:39 عصر
سؤالت رو مشخص تر بنويس! نا مفهومه!

rezaei manesh
شنبه 22 تیر 1387, 16:01 عصر
سلام دوست عزیز
شما می تونی از دیستا ست استفاده کنی
برای این کار شما دیتا ست رو به گراید وصل می کنی و عملیات مختلف را روی داده های دیتا ست به طور مستقیم انجام می دی و اونو update می کنی و در نتیجه هم بانک و هم دیتا گراید به روز می شند

taheri-ali
یک شنبه 23 تیر 1387, 04:33 صبح
سؤالت رو مشخص تر بنويس! نا مفهومه!
منظورم اينه كه كدهاي مربوط به save كردن - add new و delete چي هستند؟:متفکر:

amirzazadeh
یک شنبه 23 تیر 1387, 07:51 صبح
منظورم اينه كه كدهاي مربوط به save كردن - add new و delete چي هستند؟:متفکر:
دوست عزيز كد هاي استاندارد vb.net رو ميتوني تو شماي xsd ببيني مثلا تصوير پايين مربوط به delete هست ولي خود شما هم ميتونين با ايجاد كوئري جديد اقدام كنين.
مثل اين كد:

del * from [table name] where [شرط مورد نظر]
......................
موفق باشيد

taheri-ali
یک شنبه 23 تیر 1387, 12:22 عصر
از همه دوستان ممنونم اما من دنبال اين نيستم من م يخوام بدون استفاده از دستورات sql عمل delete رو انجام بدم به عبارت ديگه اگه يه binding navigator رو در نظر بگيريم من مي خوام كد مربوط به click event اونو به صورت كامل بدونم.:خجالت:

salehbagheri
یک شنبه 23 تیر 1387, 20:57 عصر
ببينيد عمل Save بستگي به برنامه شما داره! كه مي خواي چي رو ذخيره كني!
چون طريقه ذخيره فايلهاي متني با تصويري و يا صوتي فرق دارند! اين رو كه مي دوني!؟
حالا بگو چي مي خواي ذخيره كني تا براش راه حل بديم.
براي delete و new هم همين قضيه است!

ali_md110
دوشنبه 24 تیر 1387, 00:38 صبح
من فکر کنم منطور شما DATAROW و متدهای اون باشه
Private Sub Save2()
Dim StrSql As String
Dim CNN As OleDbConnection
Dim Adapter As OleDbDataAdapter
Dim DS As DataSet
Dim Drow As DataRow
Dim cmdBilder As OleDbCommandBuilder
Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
CNN = New OleDbConnection(cnnstr)
StrSql = "select * from table1 "
Adapter = New OleDbDataAdapter(StrSql, CNN)
DS = New DataSet
Adapter.Fill(DS, "table1")
Drow = DS.Tables("table1").NewRow
Drow("field1") = TextBox1.Text
Drow("field2") = TextBox2.Text
DS.Tables("table1").Rows.Add(Drow)
cmdBilder = New OleDb.OleDbCommandBuilder(Adapter)
If MsgBox("آیا مایل به ذخیره ردیف هستید", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Adapter.Update(DS, "table1")
DS.AcceptChanges()
MsgBox("ثبت شد")
Else
DS.RejectChanges()
MsgBox("ثبت نشد")
Exit Sub
End If
End Sub

touraj
دوشنبه 24 تیر 1387, 08:25 صبح
شما لااقل نمونه کد رو بنویس. بعد بگو راه دیگه ای هم داره یا نه.

taheri-ali
دوشنبه 24 تیر 1387, 17:08 عصر
آقا فكر مي كنم داريم به يه جايي مي رسيم ببينيد اطلاعات من شامل عكس نيست.
من در واقع مي خوام همونن كارهايي كه كنترلهاي روي binding navigator انجام مي دن مثل save-add-delete-move next-move previous رو روي يك سري button بذارم كه انجام بشه دليلش هم اينه كه من هرچي دنبال اين گشتم كه يه راهيكه بشه shortcut key براي كنترلهاي binding navigator درست كنم نشد كد نمونه كه دوست عزيزمون گذاشته با يه سري تغيير عمل save رو انجام مي ده:

Dim dr As DataRow = Ds.Tables("tablename").NewRow
dr("stid") = TextBox5.Text
dr("fname") = TextBox6.Text
dr("lname") = TextBox7.Text
Ds.Tables("tablename").Rows.Add(dr)

If MessageBox.Show("اطلاعات ثبت شود", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

bindingsource.EndEdit()
Me.tableadapter.Update(Me.Ds.tablename)

ولي كنترلهاي add new‌ و delete چه كدي دارند؟ اميدوارم منظور رو رسونده باشم

ali_md110
سه شنبه 25 تیر 1387, 01:57 صبح
من فکر کنم دوستمو ن میخاد کدهای binding navigator رو ببینند شما در سولوشن اکسپلورر بر روی ایکون show All files کلیک کنید اگر دقت کنید یک + در کنار فرم برنامه ظاهر میشه + رو باز کرده و بر روی ( Desiner.vb نام فرم ) دو بار کلیک کنید میتونید کدهای اونو ببینید در ضمن شما بدون دستورات اسکیول نمیتونید عمل حدف و اضافه انجام بدید اگر دنبال دستورات حذف و اضافه هستید یه زحمت به خودتون بدید جستجو کنید پیدا میکنید

taheri-ali
شنبه 29 تیر 1387, 10:35 صبح
آقا ما خودمون فهميديم چيكار بايد كرد
1- براي ورود اطلاعات جديد:
bindingsource.addnew
bindingsource.movelast
2- براي ذخيره اطلاعات
me.bindingsource.endedit
mw.tableadapter.update(me.dataset.tablename)
3- براي حركت به جلو
me.bindingsource.movenext
4- حركت به عقب
me.bindingsource.moveprevious