View Full Version : سوال: مشكل در زمان ذخیره کردن
port72
یک شنبه 06 مرداد 1392, 15:58 عصر
ارور در زمان ذخیره کردن 108033 .ممنون میشم برنامه رو ببینید و نظر بدید.
port72
دوشنبه 07 مرداد 1392, 21:25 عصر
کسی مشکل رو یعنی متوجه نشد.
port72
یک شنبه 20 مرداد 1392, 17:08 عصر
مدیر یه نگاه بنداز:افسرده:
vb341
یک شنبه 20 مرداد 1392, 20:10 عصر
دوست عزیز کد برنامه رو بزار تا بررسی بشه
port72
دوشنبه 21 مرداد 1392, 08:51 صبح
Imports System.Data.OleDb
Public Class sendbijac
Public connstring As String = "provider=Microsoft.ACE.OLEDB.12.0;Data source=|datadirectory|\dbng.accdb;persist security info = false"
Public conn As New OleDbConnection
Private Sub sendbijac_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Text1.Text = MiladiToShamsi(Now)
conn.ConnectionString = connstring
conn.Open()
loadlistview()
End Sub
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Try
Dim sqlquery As String = "insert into tbl_bijac (tarikh,barbari,carton,goni,som,name,address) values ('" & Text1.Text & "', '" & Text2.Text & "','" & Text4.Text & "','" & Text5.Text & "','" & Text6.Text & "','" & Text7.Text & "','" & Text8.Text & "')"
Dim sqlcommand As New OleDbCommand
With sqlcommand
.CommandText = sqlquery
.Connection = conn
.ExecuteNonQuery()
End With
MsgBox("one record successfully added..")
Text2.Clear()
Text4.Clear()
Text5.Clear()
Text6.Clear()
Text7.Clear()
Text8.Clear()
loadlistview()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Sub loadlistview()
ListView1.FullRowSelect = True
ListView1.MultiSelect = False
ListView1.View = View.Details
ListView1.Columns.Clear()
ListView1.Columns.Add("شماره بیجک", 87, HorizontalAlignment.Left)
ListView1.Columns.Add("تاریخ", 70, HorizontalAlignment.Left)
ListView1.Columns.Add("باربری", 115, HorizontalAlignment.Left)
ListView1.Columns.Add("کارتن", 50, HorizontalAlignment.Left)
ListView1.Columns.Add("گونی", 50, HorizontalAlignment.Left)
ListView1.Columns.Add("جمع", 95, HorizontalAlignment.Left)
ListView1.Columns.Add("نام خانوادگی", 125, HorizontalAlignment.Left)
ListView1.Columns.Add("آدرس", 230, HorizontalAlignment.Left)
Dim sqlquery As String = "select * from tbl_bijac"
Dim sqlcommand As New OleDbCommand
Dim SqlAdpter As New OleDbDataAdapter
Dim TABLE As New DataTable
With sqlcommand
.CommandText = sqlquery
.Connection = conn
End With
With SqlAdpter
.SelectCommand = sqlcommand
.Fill(TABLE)
End With
For i = 0 To TABLE.Rows.Count - 1
With ListView1
.Items.Add(TABLE.Rows(i)("ID"))
With .Items(.Items.Count - 1).SubItems
.Add(TABLE.Rows(i)("tarikh"))
.Add(TABLE.Rows(i)("barbari"))
.Add(TABLE.Rows(i)("carton"))
.Add(TABLE.Rows(i)("goni"))
.Add(TABLE.Rows(i)("som"))
.Add(TABLE.Rows(i)("name"))
.Add(TABLE.Rows(i)("address"))
End With
End With
Next
End Sub
Public Function MiladiToShamsi(ByVal MDate As Date) As String
'تبدیل تاریخ
MiladiToShamsi = ""
Dim pc As New Globalization.PersianCalendar
Dim Sal As Integer = pc.GetYear(MDate)
Dim Mah As Integer = pc.GetMonth(MDate)
Dim Roz As Integer = pc.GetDayOfMonth(MDate)
MiladiToShamsi = Format(Sal, "0000") & "/" & Format(Mah, "00") & "/" & Format(Roz, "00")
Return MiladiToShamsi
End Function
End Class
Mani_rf
سه شنبه 22 مرداد 1392, 15:56 عصر
باید 1 عکس از خطایی که میده بزاری تا بتونیم بهت بگیم که مشکل کجاست. هرچند که اگر متن خطایی که صارد میشه رو بخونی خودت هم میتونی متوجه بشی
port72
چهارشنبه 23 مرداد 1392, 11:45 صبح
اين فايل عكس ارور هستش
Naghibi
چهارشنبه 23 مرداد 1392, 12:21 عصر
کلماتی مثل sum کلمات کلیدی و تعریف شده هستند و شما نباید از این اسامی بعنوان اسم فیلد استفاده کنین
اسم فیلد sum رو عوض کنین، درست میشه
port72
چهارشنبه 23 مرداد 1392, 15:26 عصر
سلام
دوست عزیز درست شد اما وقتي دكمه save زده میشه رکوردهای قبلی در ListView دو الی سه بار نشان دهده میشه.اما وقتی برنامه رو بسته و دوباره اجرا میکنم رکورد در حالت عادی save شده و هیچ مشکلی ندارد تا زمانی که یک رکورد جدید ذخیره شود.(رکوردهای قبلی در ListView دو الی سه بار نشان دهده میشه)
البته سورس رو کاملتر در بالا قرار دادم.
Naghibi
چهارشنبه 23 مرداد 1392, 15:44 عصر
دقت کنین قبل از اینکه دکمه ذخیره رو بزنین مثلا 4 تا سطر نشون داده میشه، بعد از دکمه ذخیره هم بدون اینکه سطرهای گرید رو پاک کنین دوباره دستور پرکردن گرید رو صدا می زنین. حالا 4 تا سطر از قبل بوده، 5 تا الان دیتابیس داره جمعا 9 تا سطر به شما نشون میده.
قبل از اینکه دستور پرکردن گرید رو اجرا کنین باید گرید رو خالی کنین
port72
چهارشنبه 23 مرداد 1392, 16:30 عصر
چطور میتونم این کار رو انجام بدم.:خجالت:
systam
چهارشنبه 23 مرداد 1392, 19:42 عصر
من هر کاری کردم نتونستم اطلاعات رو در بانک ثبت کنم
برای نمایش اطلاعات از از گریدویو استفاده کنید
این یک نمونه کد برای پر کردن گرید
Dim dta As New OleDbDataAdapter("select * from k", "provider=microsoft.jet.oledb.4.0;data source=karim.mdb;")
Dim ds As New DataSet
Dim bs As New BindingSource
ds.Clear()
dta.Fill(ds, "k")
bs.DataSource = ds
bs.DataMember = "k"
Me.DataGridView1.DataSource = bs
اگه بتونید بانک برنامه رو Sql کنید خیلی راحت تر میشه کار
چند جای کارتون مشکل داره
1- برای کنترول های روی فرم از اسم استفاده کنید بهتره
2 - برای insert کردن اطلاعات در بانک لقمه رو نپیچونید راحت تر کد ها بنویسید
نمونه کد
Dim con As New OleDbConnection
con.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=karim.mdb;"
Dim command As New OleDbCommand
command.Connection = con
command.CommandText = "update k set id=@id , name=@name ,family=@family,code_m=@code_m where id = '" & TextBox1.Text & "'"
command.Parameters.AddWithValue("id", Trim(TextBox1.Text))
command.Parameters.AddWithValue("name", Trim(TextBox2.Text))
command.Parameters.AddWithValue("family", Trim(TextBox3.Text))
command.Parameters.AddWithValue("code_m", Trim(TextBox4.Text))
con.Open()
command.ExecuteNonQuery()
con.Close()
امیدوارم مطالبی که نوشتم بدردتون بخوره
کد هایی که نوشتم باید چند جایش تغییر کنه ها
یا علی
port72
پنج شنبه 24 مرداد 1392, 08:41 صبح
دوستان مشکل نشان دادن چند رکورد حل شد .در قسمت loadlistview بین خط 44 تا 47 کد ListView1.Items.Clear رو دارد کنید.
باتشکر از پیگیری های شما دوستان.
Naghibi
پنج شنبه 24 مرداد 1392, 09:20 صبح
ListView1.Clear برای حذف سطرهای لیست استفاده میشود.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.