PDA

View Full Version : بهترین روش جهت ذخیره رکورد در جدول



jk
دوشنبه 18 شهریور 1387, 11:51 صبح
بهترین و ساده ترین و کارآمدترین روش ذخیره یک رکورد جدید در جدول در حالت کدنویسی چیه؟

آیا استفاده از دیتاست روش معقولی است یا نه ؟

mehrnoosh_al62
دوشنبه 18 شهریور 1387, 12:02 عصر
Dim sqlcomm As new SqlCommand()
sqlcomm.Connection = new SqlConnection()
sqlcomm.Connection.ConnectionString = "Your Connection String"
sqlcomm.Connection.Open()
sqlcomm.Parameters.Add([Parameter Name], SqlDbType.[Parameter Type])
sqlcomm.Parameters[Parameter Name].Value = Parameter Value
sqlcomm.CommandText = "insert into [Tbl_Name](Fields name)values(Parameter name)]"
sqlcomm.ExecuteNonQuery()

mehrnoosh_al62
دوشنبه 18 شهریور 1387, 12:24 عصر
آیا استفاده از دیتاست روش معقولی است یا نه ؟

میشه بگید چطور با استفاده از دیتاست کار ذخیره رکورد رو انجام میدید؟؟؟

jk
دوشنبه 18 شهریور 1387, 13:00 عصر
Try
Dim MyRow As DataRow = DataSet11.Tables("TableName").NewRow
MyRow("Field1") = "Value1"
MyRow("Field2") = "Value2"
MyRow("Field3") = "Value3"
'...

DataSet11.Tables("TableName").Rows.Add(MyRow)
SqlDataAdapter1.Update(DataSet11)
Catch ex As SqlClient.SqlException
MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch ex2 As Exception
MessageBox.Show(ex2.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

jk
دوشنبه 18 شهریور 1387, 13:01 عصر
توضیحی در مورد دو سطر زیر میدهید؟

sqlcomm.Parameters.Add([Parameter Name], SqlDbType.[Parameter Type])
sqlcomm.Parameters[Parameter Name].Value = Parameter Value

elmira_63
دوشنبه 18 شهریور 1387, 13:15 عصر
چه طوری یه مقدار یه فیلد رو از sql توی یه متغییر تو ویبی بریزم؟؟
من برای این کار میام اطلاعات اون فیلد رو اول بایند میکنم تو یه تکست باکسی چیزی بعد اون متغییر رو برابر اون تکست باکس قرار م دم که صد در صد کارم منطقی نیست

mehrnoosh_al62
دوشنبه 18 شهریور 1387, 14:38 عصر
توضیحی در مورد دو سطر زیر میدهید؟

sqlcomm.Parameters.Add([Parameter Name], SqlDbType.[Parameter Type])
sqlcomm.Parameters[Parameter Name].Value = Parameter Value


فرض کنید که یک جدول به نام Table1 دارید که سه فیلد f1,f2,f3 داره. و مقادیر این فیلد ها رو هم میخواید مثلا از داخل 3 textbox در بانک ذخیره کنین:


sqlcomm.Parameters.Add(@f1, SqlDbType.Nvarchar)
sqlcomm.Parameters.Add(@f2, SqlDbType.Nvarchar)
sqlcomm.Parameters.Add(@f3, SqlDbType.Nvarchar)
sqlcomm.Parameters(@f1).Value =TextBox1.Text
sqlcomm.Parameters(@f2).Value =TextBox2.Text
sqlcomm.Parameters(@f3).Value =TextBox3.Text

3خط اول 3 پارامتر تعریف میکنه و نوع اونها رو مشخص میکنه(همون نوعی که تو بانک و در قسمت Design جدول ها مشخص کردید)

و 3 خط دوم به 3 پارامتر فوق مقدار میده...
و برای insert میتونید از کد sql زیر استفاده کنید


insert into table1(f1,f2,f3)values(@f1,@f2,@f3)

jk
سه شنبه 19 شهریور 1387, 09:22 صبح
دستور insert موردی که داره اینکه اگه ایرادی در داخل دستور داشته باشی به راحتی نمی تونی دیباگ بکنی.

می خوام بدونم به چه شکل می تونم فیلدهای یک جدول رو به صورت سطر به سطر از طریق کدنویسی وارد بکنم.
جهت یادآوردی بنده در VB6 جهت اینکار رکوردستی ایجاد می کردم و بعد مقدار فیلدها رو یک به یک مقداردهی می کردم. می خواهم بدونم در vb.net به چه شکل باید عمل بکنم.

ali_md110
سه شنبه 19 شهریور 1387, 14:03 عصر
چه طوری یه مقدار یه فیلد رو از sql توی یه متغییر تو ویبی بریزم؟؟

از دیتاریدر استفاده کنید

Private Sub project_search()
Dim CNN As OleDbConnection
Dim DataReader As OleDbDataReader
Dim Command As OleDb.OleDbCommand

Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
CNN = New OleDbConnection(cnnstr)
Dim SQL As String = "SELECT TABLE1.NAME, TABLE1.FAMIL, TABLE1.ADDRESS, TABLE1.TEL, TABLE1.REGION FROM(TABLE1)WHERE (((TABLE1.NAME)=[@name]) AND ((TABLE1.FAMIL)=[@famil]))"
Command = New OleDbCommand(SQL, CNN)
Command.CommandType = CommandType.Text
Command.Parameters.Add("@name", Data.OleDb.OleDbType.VarChar, 10).Value = Me.TXTNAME.Text
Command.Parameters.Add("@famil", Data.OleDb.OleDbType.VarChar, 10).Value = Me.TXTFAMIL.Text
CNN.Open()
DataReader = Command.ExecuteReader

If DataReader.HasRows Then

While DataReader.Read()
نام متغیر = DataReader.Item("ADDRESS")
Me.TextBox4.Text = DataReader.Item("tel")
Me.TextBox5.Text = DataReader.Item("REGION")

'
End While

Else
MsgBox("رکوردی پیدا نشد")
End If
DataReader.Close()
CNN.Close()
End Sub

kablayi
سه شنبه 19 شهریور 1387, 14:49 عصر
بهترین و ساده ترین و کارآمدترین روش ذخیره یک رکورد جدید در جدول در حالت کدنویسی چیه؟

آیا استفاده از دیتاست روش معقولی است یا نه ؟

سلام ...
فکر کنم دیگه از این ساده تر نشه نوشت ... !!


Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\accountantDB.mdb"
Dim strsql As String= "insert into faktor (ID,FaktorTOT,StoreName,Tell,FaktorDate,comment) values (@ID,@FaktorTOT,@StoreName,@Tell,@FaktorDate,@comm ent)"
Dim cn As New OleDbConnection(constr)
Dim cmd As New OleDbCommand(strsql, cn)
With cmd
.Parameters.AddWithValue("@ID", txtfaktorID.Text.Trim)
.Parameters.AddWithValue("@FaktorTOT", CInt(txtfaktorTOT.Text.Trim))
.Parameters.AddWithValue("@StoreName", txtstoreNAME.Text.Trim)
.Parameters.AddWithValue("@Tell", txtstoreTELL.Text.Trim)
.Parameters.AddWithValue("@FaktorDate", strdate)
.Parameters.AddWithValue("@comment", txtcomment.Text.Trim)
End With
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()


از دیتاست هم به نظر من مواقعی استفاده کنید که قصد جستجو را داشته باشید ... !!!!