PDA

مشاهده نسخه کامل : چاپ اطلاعات دیتابیس sql توسط یک حلقه با vb.net



nafiseh_hch
04-07-11, 09:27
با سلام
میخوام اطلاعات دیتابیسم توسط یک حلقه خوانده بشه و وقتی یک فیلد رو تغییر دادیم دوباره اون فیلد در دیتابیس اضافه بشه
چون جدید این فیلد اضافه شده میخوام برای همه اون رکورد این فیلد پر بشه
اگه کسی میتونه کمک کنه ممنون می شم

ravegoat
06-07-11, 02:11
با سلام!

دوست گرامي عضويت شما رو در PCN تبريك مي گم.

براي خواندن از يك پايگاه SQL شما بايد ابتدا يك SqlDataReader تعريف كنيد و با قرار دستور Read از زير مجموعه ي همين متغير تعريف شده در يك حلقه ي While ، ركورد ها رو دريافت كنيد. براي دريافت سورس برنامه به اين لينك (Only the registered members can see the link) مراجعه كنيد.

براي ذخيره ي داده هاي تغيير يافته ي DataGridView در يك بانك SQL مي تونيد از سورس زير كمك بگيريد:




'Connection string defined earlier in code
sqlConn.Open()

Dim GetAtmtTable As New SqlCommand("Select * from dbo.emptyemailwithattachments", sqlConn)
Dim EtavDataAdapter As New SqlDataAdapter(GetAtmtTable)
EtavDataAdapter.SelectCommand.Connection = sqlConn

Dim EtavDataSet As New DataSet
EtavDataAdapter.Fill(EtavDataSet)

Dim mailSubj As String
mailSubj = MailItem.Subject.ToString

Dim mailDateReceived As String
mailDateReceived = MailItem.ReceivedTime.ToString

'The attachment counter is for coding outside of this code that allows for multiple attachments in the email by using a loop
Dim mailAtmtName As String
mailAtmtName = MailItem.Attachments.Item(atmtCounter).FileName

Dim mailMsgBody As String
mailMsgBody = mailitem.Body.ToString

Dim dateAppended As String
dateAppended = DateTime.Now.ToString

Dim row As DataRow = EtavDataSet.Tables(0).NewRow
row.Item("Subject") = mailSubj
row.Item("DateReceived") = mailDateReceived
row.Item("FileName") = mailAtmtName
row.Item("MessageBody") = mailMsgBody
row.Item("DateAppended") = dateAppended
EtavDataSet.Tables(0).Rows.Add(row)

'The next two lines replace any single quotes in the subject and body with spaces
'As I said above, single quotes mark the beginning or end of a value in SQL, so they have to be removed
mailSubj = mailSubj.Replace("'", " ")
mailMsgBody = mailMsgBody.Replace("'", " ")

'The notorious INSERT statement that caused me so much grief!
Dim insertIntoAtmtTable As String = "INSERT INTO yorkovichm.emptyemailwithattachments(Subject, DateReceived, FileName, MessageBody, DateAppended)
VALUES ('" & mailSubj & "','" & mailDateReceived & "','" & mailAtmtName & "', '" & mailMsgBody & "', '" & dateAppended & " ')"

EtavDataAdapter.InsertCommand = New SqlCommand(insertIntoAtmtTable, sqlConn)
EtavDataAdapter.Update(EtavDataSet.Tables(0))

sqlConn.Close()


در واقع شما با دستور Update مربوط به يك DataAdapter داده هاي يك DataSet رو وارد پايگاه داده مي كنيد. (منبع: vbdotnetforums.com)

سطر دوم سوالتون رو اصلا" متوجه نشدم. منظورتون از اضافه شدن يك فيلد، اضافه شدن يك ستون هستش يا يك سطر. همچنين عبارت " میخوام برای همه اون رکورد این فیلد پر بشه " كلا" براي بنده نامفهومه. لطفا" بيش تر توضيح بديد.

موفق باشيد
آرمين:11():