Как сохранить несколько данных datagridview в таблицу в базе данных в vb.net

#vb.net

#vb.net

Вопрос:

у меня есть datagridview, заполненный набором данных, и я хочу сохранить все записи, которые у него есть, в новой таблице в базе данных. я добавил новый столбец («pos») в набор данных, который заполняет datagridview с помощью запроса, чтобы он ранжировал записи на основе поля (total).моя проблема в том, как просмотреть все записи, чтобы сохранить их, потому что я получаю ошибку (ссылка на объект не установлена для экземпляра объекта). может кто-нибудь помочь мне плиз, я безуспешно пытался пару недель,,, или есть лучший способ, которым я мог бы это сделать. вот мой код

 Dim comm As SqlCommand = New SqlCommand()
Dim conn As SqlConnection = New SqlConnection
conn = New SqlConnection(cs1)
comm.Connection = conn
conn.Open()
Dim sname, adm, class1, yr, term, examType, eng, kisw, math, bio, chem, phy, hist, cre, geo, agr, biz, total, pos, grade As String
For i As Integer = 0 To DataGridView1.Rows.Count - 1
sname = Me.DataGridView1.Rows(i).Cells("sname").Value.ToString()
adm = Me.DataGridView1.Rows(i).Cells("adm").Value.ToString()
class1 = Me.DataGridView1.Rows(i).Cells("class").Value.ToString
examType = Me.DataGridView1.Rows(i).Cells("examType").Value.ToString
yr = Me.DataGridView1.Rows(i).Cells("yr").Value.ToString
math = Me.DataGridView1.Rows(i).Cells("math").Value.ToString
eng = Me.DataGridView1.Rows(i).Cells("eng").Value.ToString
kisw = Me.DataGridView1.Rows(i).Cells("kisw").Value.ToString
bio = Me.DataGridView1.Rows(i).Cells("bio").Value.ToString
phy = Me.DataGridView1.Rows(i).Cells("phy").Value.ToString
chem = Me.DataGridView1.Rows(i).Cells("chem").Value.ToString()
hist = Me.DataGridView1.Rows(i).Cells("hist").Value.ToString()
cre = Me.DataGridView1.Rows(i).Cells("cre").Value.ToString()
geo = Me.DataGridView1.Rows(i).Cells("geo").Value.ToString()
biz = Me.DataGridView1.Rows(i).Cells("biz").Value.ToString()
total = Me.DataGridView1.Rows(i).Cells("total").Value.ToString()
agr = Me.DataGridView1.Rows(i).Cells("agr").Value.ToString()
term = Me.DataGridView1.Rows(i).Cells("term").Value.ToString()
pos = Me.DataGridView1.Rows(i).Cells("pos").Value.ToString()
grade = Me.DataGridView1.Rows(i).Cells("grade").Value.ToString()
comm.CommandText = "insert into tblExamResults(sname,adm,class,examType,yr,math,eng,kisw,bio,chem,phy,hist,cre,geo,biz,total,agr,term,pos,grade) values('" amp; sname amp; "','" amp; adm amp; "','" amp; class1 amp; "','" amp; examType amp; "','" amp; yr amp; "','" amp; math amp; "','" amp; eng amp; "','" amp; kisw amp; "','" amp; bio amp; "','" amp; chem amp; "','" amp; phy amp; "','" amp; hist amp; "','" amp; cre amp; "','" amp; geo amp; "','" amp; biz amp; "','" amp; total amp; "','" amp; agr amp; "','" amp; term amp; "','" amp; pos amp; "','" amp; grade amp; "')"
comm.ExecuteNonQuery()
Next
con.Close()
  

Комментарии:

1. Я думаю, вы имеете в виду conn.Close()

2. Вы должны использовать параметры команды для своего запроса, это безопаснее и, как правило, проще для чтения. Параметры команды