PDA

View Full Version : ویرایش کد ذخیره اطلاعات تکس باکسها وعکس؟



farhad85
سه شنبه 10 دی 1392, 23:21 عصر
با سلام خدمت اساتید ودوستان عزیز
کد زیر اطلاعات تکس ها و عکس رو بدرستی دخیره میکنه ولی چند موردشو نتونستم درست کنم
1-من اجباری برای قرار گذاشتن عکس برای کاربر فرار ندادم و میتونه خالی بزارتش ولی اگه عکسی رو انتخاب نکنه و دکمه ذخبره رو بزنه این خطا رو میده ؟ Object reference not set to an instance of an object.

2-اینکه میخوام که در هنگام ذخیره با دستور try یا هر دستوری دیگه ای جلوی ورود کدتکراری کد ملی رو بگیره؟

3- اینکه وقتی اطلاعات تکسهام+عکسم ذخیره شد هروقت روی یک رکورد در دیتا گراید کلیک کردم اطلاعات رکورد دیتا گراید داخل تکسها وپیکچر باکس فرمم نشون داده بشه. یعنی اگز رکورد ذخیره شده دارای عکس بود با کلیک روی رکورد همزمان توی پیکچر باکس روی فرمم نشون داده بشه

Dim my_cm4 As New SqlCommand("insert into moshakhasat(code_meli,name,family,n_p,sh_sh,t_t,m_ sodur,tahsilat,reshte,shoghl,taahol,t_khanevade,so kunat,ostan,shahrestan,bakhsh,dehestan,rusta,m_kha damat,n_shora,h_shora,n_dehyar,h_dehyar,sh_hesab,s h_cart,h_keshavarz,code_posti,email,t_sabtename,m_ sabt,adres,toz,pic) values (@code_meli,@name,@family,@n_p,@sh_sh,@t_t,@m_sodu r,@tahsilat,@reshte,@shoghl,@taahol,@t_khanevade,@ sokunat,@ostan,@shahrestan,@bakhsh,@dehestan,@rust a,@m_khadamat,@n_shora,@h_shora,@n_dehyar,@h_dehya r,@sh_hesab,@sh_cart,@h_keshavarz,@code_posti,@ema il,@t_sabtename,@m_sabt,@adres,@toz,@pic)", my_cn)
Dim my_da4 As New SqlDataAdapter("Select * from moshakhasat", my_cn)
Dim my_ds4 As New DataSet
Dim my_cb4 As New SqlCommandBuilder(my_da4)
my_cm4.Parameters.Add("@code_meli", SqlDbType.NVarChar, 50).Value = TextBox1.Text
my_cm4.Parameters.Add("@name", SqlDbType.NVarChar).Value = TextBox2.Text
my_cm4.Parameters.Add("@family", SqlDbType.NVarChar).Value = TextBox3.Text
my_cm4.Parameters.Add("@n_p", SqlDbType.NVarChar).Value = TextBox4.Text
my_cm4.Parameters.Add("@sh_sh", SqlDbType.NVarChar).Value = TextBox5.Text
my_cm4.Parameters.Add("@t_t", SqlDbType.NVarChar).Value = MaskedTextBox1.Text
my_cm4.Parameters.Add("@m_sodur", SqlDbType.NVarChar).Value = TextBox6.Text
my_cm4.Parameters.Add("@tahsilat", SqlDbType.NVarChar).Value = ComboBox1.Text
my_cm4.Parameters.Add("@reshte", SqlDbType.NVarChar).Value = TextBox7.Text
my_cm4.Parameters.Add("@shoghl", SqlDbType.NVarChar).Value = ComboBox2.Text
my_cm4.Parameters.Add("@taahol", SqlDbType.NVarChar).Value = ComboBox3.Text
my_cm4.Parameters.Add("@t_khanevade", SqlDbType.NVarChar).Value = TextBox8.Text
my_cm4.Parameters.Add("@sokunat", SqlDbType.NVarChar).Value = ComboBox4.Text
my_cm4.Parameters.Add("@ostan", SqlDbType.NVarChar).Value = ComboBox5.Text
my_cm4.Parameters.Add("@shahrestan", SqlDbType.NVarChar).Value = ComboBox6.Text
my_cm4.Parameters.Add("@bakhsh", SqlDbType.NVarChar).Value = TextBox9.Text
my_cm4.Parameters.Add("@dehestan", SqlDbType.NVarChar).Value = TextBox10.Text
my_cm4.Parameters.Add("@rusta", SqlDbType.NVarChar).Value = TextBox11.Text
my_cm4.Parameters.Add("@m_khadamat", SqlDbType.NVarChar).Value = TextBox12.Text
my_cm4.Parameters.Add("@n_shora", SqlDbType.NVarChar).Value = TextBox13.Text
my_cm4.Parameters.Add("@h_shora", SqlDbType.NVarChar).Value = TextBox14.Text
my_cm4.Parameters.Add("@n_dehyar", SqlDbType.NVarChar).Value = TextBox15.Text
my_cm4.Parameters.Add("@h_dehyar", SqlDbType.NVarChar).Value = TextBox16.Text
my_cm4.Parameters.Add("@sh_hesab", SqlDbType.NVarChar).Value = TextBox17.Text
my_cm4.Parameters.Add("@sh_cart", SqlDbType.NVarChar).Value = TextBox18.Text
my_cm4.Parameters.Add("@h_keshavarz", SqlDbType.NVarChar).Value = TextBox19.Text
my_cm4.Parameters.Add("@code_posti", SqlDbType.NVarChar).Value = TextBox20.Text
my_cm4.Parameters.Add("@t_sabtename", SqlDbType.NVarChar).Value = MaskedTextBox2.Text
my_cm4.Parameters.Add("@m_sabt", SqlDbType.NVarChar).Value = TextBox21.Text
my_cm4.Parameters.Add("@email", SqlDbType.NVarChar).Value = TextBox22.Text
my_cm4.Parameters.Add("@adres", SqlDbType.NVarChar).Value = TextBox23.Text
my_cm4.Parameters.Add("@toz", SqlDbType.NVarChar).Value = TextBox24.Text

Dim ms As New MemoryStream
Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
Dim arrPic() As Byte = ms.GetBuffer
my_cm4.Parameters.Add("@Pic", SqlDbType.VarBinary).Value = arrPic
my_cm4.ExecuteNonQuery()
my_da4.Fill(my_ds4, "moshakhasat")
DataGridView1.DataSource = (my_ds4)
DataGridView1.DataMember = "moshakhasat"

farhad85
چهارشنبه 11 دی 1392, 10:53 صبح
کمـــــــــــــــــــــــ ــــــــــــ:گریه::گریه:ـــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــ:گریه::گریه:ــــــــــــ ــــــــــــــــــک

sagggad
چهارشنبه 11 دی 1392, 11:00 صبح
کدوم خط رو به عنوان ارور نشون میده؟؟؟

behrooz69
پنج شنبه 12 دی 1392, 01:37 صبح
جواب سوال دومت دوست من شما میتونی 2 کار رو انجام بدی :

واسه اینکه کاربر کد تکراری نده

1 : بیای تو رویداد TextChenge اون تکس باکس کدت بیای Select Query بنویسی که وقتی داری تایپ میکنی یا رویداد Leave که وقتی از رو تکس اومد بیرون اررور بده که وجود داره یا رویداد Enter که وقتی نوشت و اینتر زد چک کنه .

2 : بیای تو دیتابیست فیلد کد رو Identity ش رو Yes کنی و به صورت ثابت پلکانی ثبت کنی و یکی یکی بره بالا که روش خوبی هم هست . .

حالا کد روش اول :
[ VB] '/// search data with error to user if code is repeat in db ... Behrooz rostamani///


Try


If TxtTell.TextLength > 0 Then

If con.State = ConnectionState.Closed Then
con.Open()
End If

cmd = New SqlCommand()
cmd.Connection = con
cmd.CommandText = "SELECT * FROM TblRegister WHERE(Tell=@Tell)"
cmd.Parameters.Add("@Tell", SqlDbType.NVarChar, 50).Value = TxtTell.Text

'con.Open()
If con.State = ConnectionState.Open Then
Dim sReader As SqlDataReader = cmd.ExecuteReader()

If sReader.Read() Then
MsgBox("کد " + TxtTell.Text + " در دیتابیس موجود است")
TxtTell.Focus()
TxtTell.Clear()
con.Close()

End If
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try [/VB]

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


یا حق