PDA

View Full Version : دستور update



samira222
یک شنبه 05 اسفند 1386, 19:23 عصر
من با دستور زیر یک رکرود جدید ایجاد می کنم ولی وقتی فیلد اخر رو مقدار نمی دم خطا میده یعنی فیلد اخر رو به کلمه where وصل می کنه . باید چیکار کنم !!!؟؟؟
Dim cmd AsNew SqlCommand("update savabeghtahsele set name_madrak='" + TextBox3.Text + "'," + "reshteh='" + TextBox4.Text + "'," + "location='" + TextBox5.Text + "'," + "year=" + TextBox6.Text + " where column1=" + pkey.ToString, con)
خیلی متشکرم . فقط خیلی فوریه

VB.NET2005
یک شنبه 05 اسفند 1386, 19:33 عصر
دوست عزیز فکر کنم این درست باشه :


(update savabeghtahsele set name_madrak='" + TextBox3.Text + "',reshteh='" + TextBox4.Text + "',location='" + TextBox5.Text + "',year='" + TextBox6.Text + "' where year='" + pkey.ToString + "', con)

seeker
یک شنبه 05 اسفند 1386, 20:28 عصر
دات نت 2005 درست میگه
شما برای where از سینگل کوتیشن استفاده نکردید

VB.NET2005
یک شنبه 05 اسفند 1386, 20:38 عصر
دوست عزیز اینو امتحان کنید :



Imports System.Data.OleDb
PublicClass DataBase
Dim connectionString = "provider=microsoft.jet.oledb.4.0;data source=database.mdb;"
'for insert , update , delete
PublicFunction DoCommand(ByVal ole AsString)
Try
Dim cmd AsNew OleDbCommand
Dim con AsNew OleDbConnection
con.ConnectionString = connectionString
cmd.Connection = con
con.Open()
cmd.CommandText = ole
cmd.ExecuteNonQuery()
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
EndTry
EndFunction
'for select and search in table
PublicFunction MySelect(ByVal ole AsString) As DataTable
Dim dt AsNew DataTable
Try
Dim cmd AsNew OleDbCommand
Dim con AsNew OleDbConnection
Dim da AsNew OleDbDataAdapter(cmd)
con.ConnectionString = connectionString
cmd.Connection = con
con.Open()
cmd.CommandText = ole
da.Fill(dt)
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
EndTry
Return dt
EndFunction
EndClass

فراخوانی : [ برای سلکت کردن ]


Dim dt AsNew DataTable
'sakhte yek nemoone az class DataBase
Dim db AsNew DataBase
'seda zadan function==>MySelect baraye jostejoo dar bank
dt = db.MySelect("select * from YourTable")
DataGrid1.DataSource = dt

فراخوانی : [ برای Insert , Update , . . . ]


Dim dt AsNew DataTable
Dim db AsNew DataBase
dt = db.DoCommand("insert into YourTable values(. . .)")
DataGrid1.DataSource = dt

samira222
یک شنبه 05 اسفند 1386, 20:38 عصر
اگه از تک کوتیشن استفاده کنم که عبارت سبز میشه یعنی غیر فعال
درسته؟
اخه من هر جا دیدم از دابل استفاده کردن
ولی الان می رم هم اینو و هم کد بالا رو امتحان می کنم .
از هر دو تون متشکرم

seeker
یک شنبه 05 اسفند 1386, 20:41 عصر
گه از تک کوتیشن استفاده کنم که عبارت سبز میشه یعنی غیر فعال
درسته؟
نخیر دوست عزیز
اگر سینگل کوتیشن شما داخل دبل کوتیشن باشد به قول شما "سبز" نمیشود (:

samira222
یک شنبه 05 اسفند 1386, 20:45 عصر
ok
مرسی - من نمی دونستم - ولی این باعث میشه که یک فاصله بین فیلد اخر و where بزاره ؟:متعجب:

seeker
یک شنبه 05 اسفند 1386, 20:50 عصر
خوب بین ' و " فاصله نذار:

where coloumn1='" & textbox1.text & "'"

samira222
یک شنبه 05 اسفند 1386, 20:57 عصر
باشه مرسی
یک سوال دیگه : من برای add کردن یک رکورد کد زیر رو در fromload نوشتم
peshkey=0
Dim con As SqlConnection
Dim ss As Integer
Dim strcon As String
strcon = " Data Source=.;Integrated Security=True;Initial Catalog=parvandeh"
con = New SqlConnection(strcon)
Dim cmd As New SqlCommand("select max(key1)+1 from Moshakhasatefarde", con)
con.Open()
ss = cmd.ExecuteScalar
TextBox1.Text = ss.ToString
con.Close()
peshkey = ss.ToString
و روی دکمه اضافه هم این کد رو نوشتم
TextBox10.Text = peshkey.ToString
Dim con1 As SqlConnection
Dim strcon1 As String
strcon1 = " Data Source=.;Integrated Security=True;Initial Catalog=parvandeh"
con1 = New SqlConnection(strcon1)
Dim cmd1 As New SqlCommand("INSERT INTO Moshakhasatefarde ( " & "name1," & "family," & "configuration_num," & "orientation," & "last_madrak," & "type_stekhdam," & "date_stekhdam," & "organezation_post" & " ) values ('" & TextBox2.Text & "',' " & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & ComboBox1.Text & "','" & TextBox9.Text & "')", con1)
con1.Open()
cmd1.ExecuteNonQuery()
con1.Close()
MsgBox("ذخیره شد")
اما برای بعضی رکوردهای خاص جواب نمیده . یعنی توی پیدا کردن کلید مشکل پیدا می کنه . اشکالش از کجاست .
البته برنامه جناب vb.net2005 خیلی خوب و کامله ولی اگه بشه همین درست بشه من بهتر می فهمم .
متشکرم

saeed_rezaei
یک شنبه 05 اسفند 1386, 22:38 عصر
سلام
وقتی کدهاتون رو می نویسید بهتره که کدهای وی بی رو داخل دوتا تگ مربوط به کد قرار بدید. برای اینکار می تونید روی دکمه # نوار ابزار کلیک کنید. اینجوری کدهاتون بهتر نوشته می شه. مثلا اینجوری:



peshkey=0
Dim con As SqlConnection
Dim ss As Integer
Dim strcon As String
strcon = " Data Source=.;Integrated Security=True;Initial Catalog=parvandeh"
con = New SqlConnection(strcon)
Dim cmd As New SqlCommand("select max(key1)+1 from Moshakhasatefarde", con)
con.Open()
ss = cmd.ExecuteScalar
TextBox1.Text = ss.ToString
con.Close()
peshkey = ss.ToString
و روی دکمه اضافه هم این کد رو نوشتم
TextBox10.Text = peshkey.ToString
Dim con1 As SqlConnection
Dim strcon1 As String
strcon1 = " Data Source=.;Integrated Security=True;Initial Catalog=parvandeh"
con1 = New SqlConnection(strcon1)
Dim cmd1 As New SqlCommand("INSERT INTO Moshakhasatefarde ( " & "name1," & "family," & "configuration_num," & "orientation," & "last_madrak," & "type_stekhdam," & "date_stekhdam," & "organezation_post" & " ) values ('" & TextBox2.Text & "',' " & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & ComboBox1.Text & "','" & TextBox9.Text & "')", con1)
con1.Open()
cmd1.ExecuteNonQuery()
con1.Close()



اینجوری کاربران راحتتر می تونن به شما کمک کنند. البته بهتره که هر سوال رو هم در یک تاپیک جداگانه پست کنید. مطمئنن این هم باعث تسریع در اخذ جواب می شه !!