PDA

View Full Version : مشکل آپدیت موقت داده ها در برنامه



hqsoroush
جمعه 20 آبان 1390, 21:38 عصر
سلام.
میخوام اطلاعات پرونده ی رو آپدیت کنم.
توی برنامه براش تعریف کردم اگر شماره پرونده تکراری بود پیغام بده.
کدی که استفاده میکنم اینه:
SqlConnection1.Open()
SqlDataAdapter4.UpdateCommand.Parameters(0).Value = ShParvandeh شماره پرونده ي قبلي
SqlDataAdapter4.UpdateCommand.Parameters(1).Value = Trkh تاريخ
SqlDataAdapter4.UpdateCommand.Parameters(2).Value = NowShParvandeh4Edt شماره پرونده جديد
SqlDataAdapter4.UpdateCommand.ExecuteNonQuery()
SqlConnection1.Close()
فرض کنید شماره پرونده11بوده و الان میخوام اونو بذارم روی22.
این کار رو برام انجام میده، توی دیتا گرید ویو هم22 رو نمایش میده، حتی توی اس کیو ال هم نگاه کردم و دیدم که تغییر کرده.
اما اگر بخوام دوباره ویراشش کنم و 22 رو همون 11 قبلی بذارم بهم پیغامی رو که گفتم خودم براش تعریف کردم میده.
مگر اینکه برنامه رو از نو استارت کنم.
چکار کنم؟؟؟؟؟؟
کد چک کننده شماره پرونده و پیغام:
SqlDataAdapter4.Fill(ParvandehDataSet21.Parvandeh)
ShParvandehDataView.Sort = "ShParvandeh ASC"
'چک کردن تکراري نبودن شماره پرونده'
If (ShParvandehDataView.Find(ShParvandeh) <> (-1)) Then
MsgBox("اين شماره پرونده، قبلا ثبت شده است", MsgBoxStyle.Critical, "اخطار")
End If

mgh64120
جمعه 20 آبان 1390, 23:57 عصر
سلام دوست عزيز
شما بعد از اينكه ويرايش رو با موفقيت انجام ميدي DataSet رو تخليه و براي ويرايش بعدي مجدد پر كن. فكر كنم DataSet بعد از ويرايش اول Update نشه.
موفق باشيد.

hqsoroush
شنبه 21 آبان 1390, 17:19 عصر
سلام.
چه جوری باید دیتاست رو خالی کنم؟(با چه دستوری؟)
پر کردنش همون دستور Fill هستش؟یا دستور دیگه ای؟
بسیار ممنون

hosseinmghi
شنبه 21 آبان 1390, 19:41 عصر
دوست گرامی
احتمالا مشکل اونجاس که ShParvandehDataView رو آپدیت نمی کنی.
ولی راستش من این روش چک کردن رو نمی پسندم!!!:متفکر:
من باشم یه Query می نوسیم از دیتابیس چک می کنم.اینطوری برنامت همیشه درست کار می کنه.چه یه نفر باهاش کار کنه چه 1000 نفر ،چه تو شبکه باشه چه...
موفق باشی...

hqsoroush
شنبه 21 آبان 1390, 21:34 عصر
سلام دوست عزيز
شما بعد از اينكه ويرايش رو با موفقيت انجام ميدي DataSet رو تخليه و براي ويرايش بعدي مجدد پر كن. فكر كنم DataSet بعد از ويرايش اول Update نشه.
موفق باشيد.

سلام.
مشکل رو حل کردم.دست تون درد نکنه.واقعا متشکرم.

hqsoroush
شنبه 21 آبان 1390, 21:40 عصر
دوست گرامی
احتمالا مشکل اونجاس که ShParvandehDataView رو آپدیت نمی کنی.
ولی راستش من این روش چک کردن رو نمی پسندم!!!
من باشم یه Query می نوسیم از دیتابیس چک می کنم.اینطوری برنامت همیشه درست کار می کنه.چه یه نفر باهاش کار کنه چه 1000 نفر ،چه تو شبکه باشه چه...
موفق باشی...

سلام دوست عزیزم.مشکل رو از راه حل دوست خوبم mgh64120 حل کردم.

اما :


من باشم یه Query می نوسیم از دیتابیس چک می کنم.

چطوری این کار رو باید انجام بدم؟
این Query رو کجا و چه جوری باید بنویسم؟
من تازه واردم.
ممنونم میشم راهنمایی کنید.
مرسی

mgh64120
شنبه 21 آبان 1390, 23:21 عصر
سلام دوست عزيز
اين هم يك تابع از نوع Boolean كه كنترل ميكنه شماره پرونده تكراري نباشه.


Private Function ControlShParvandeh (by Val ShParvandeh As String) As Boolean
Dim Cnn as New SqlConnection(رشته اتصال )
Dim Cmd As New SqlCommand()
Cmd.CommandText = "SELECT Count(*) FROM TableName WHERE ShParvandeh = " & ShParvandeh
Cmd.CommandType = CommandType.Text
Cmd.Connection = Cnn
Dim Result As Object
Try
Cnn.Open()
Result = Cmd.ExecuteScalar
If Ctype(Result, Integer) =0 Then
Return True
Else
Return False
End If
Catch ex As SqlException
MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Cnn.Close
End Try
End Function


اگه مشكلي بود در خدمتم.
موفق باشيد.

hqsoroush
سه شنبه 08 آذر 1390, 18:23 عصر
واقعا ممنون