DataGridView增删改查操作数据库
Imports System.DataPublic Class RentCenter
Private dBudget As DataLink.SqlData
Private pDocNo As String
'连接数据库
Private Sub pCreateDocNo()
Dim pTb As DataTable
pTb = New DataLink.SqlData("select Pk_RentCenter from App_RentCenter order by Pk_RentCenter", "RentCenter").DataSet.Tables(0)
If pTb.Rows.Count > 0 Then
pDocNo = pTb.Rows(pTb.Rows.Count - 1).Item("Pk_RentCenter")
Dim sXuhao, sMonth, sYear As String, iXuhao, iMonth, iYear, i As Integer
sXuhao = pDocNo.Substring(6)
sMonth = pDocNo.Substring(4, 2)
sYear = pDocNo.Substring(0, 4)
iXuhao = sXuhao
iMonth = sMonth
iYear = sYear
If iYear = Now.Year And iMonth = Now.Month Then
iXuhao += 1
sYear = iYear.ToString
sMonth = iMonth.ToString
For i = sMonth.Length To 2 - 1
sMonth = "0" & sMonth
Next
sXuhao = iXuhao.ToString
For i = sXuhao.Length To 3 - 1
sXuhao = "0" & sXuhao
Next
pDocNo = sYear & sMonth & sXuhao
Else
sYear = Now.Year.ToString
sMonth = Now.Month.ToString
For i = sMonth.Length To 2 - 1
sMonth = "0" & sMonth
Next
sXuhao = "001"
pDocNo = sYear & sMonth & sXuhao
End If
Else
Dim sYear, sMonth, sXuhao As String, i As Integer
sYear = Now.Year.ToString
sMonth = Now.Month.ToString
For i = sMonth.Length To 2 - 1
sMonth = "0" & sMonth
Next
sXuhao = "001"
pDocNo = sYear & sMonth & sXuhao
End If
End Sub
Private Sub btSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btSave.Click
pCreateDocNo()
Dim dt As New DataTable()
' Dim tb As DataTable = dBudget.DataSet.Tables(0)
Dim r As DataRow = dt.NewRow
r.Item("Pk_RentCenter") = Pk_RentCenter
************************************************这里报错,说(未处理ArgumentException、列"PK_RentCenter不属于表")*********************************************************************************************************
r.Item("RentCenter_Name") = Now.Date
r.Item("RentCenter_Manager") = False
r.Item("RentCenter_Addre") = False
r.Item("RentCenter_Agent") = False
r.Item("RentCenter_Bail") = False
r.Item("RentCenter_Tell") = False
r.Item("RentCenter_Fax") = False
r.Item("RentCenter_Mail") = False
r.Item("RentCenter_Info") = False
Dim PrjCol As DataGridViewComboBoxColumn = CType(Me.MGVRentCenter.Columns("c_itemshortcode"), DataGridViewComboBoxColumn)
If PrjCol.Items.Count > 0 Then
r.Item("itemshortcode") = CType(PrjCol.DataSource, DataTable).Rows(0).Item("itemshortcode") & ""
r.Item("propertycode") = CType(PrjCol.DataSource, DataTable).Rows(0).Item("propertycode") & ""
r.Item("Initiation") = CType(PrjCol.DataSource, DataTable).Rows(0).Item("Initiation") & ""
End If
dt.Rows.Add(r)
Dim gr As DataGridViewRow = Me.MGVRentCenter.Rows(dt.Rows.Count - 1)
Me.MGVRentCenter.CurrentCell = gr.Cells(1)
Me.MGVRentCenter.BeginEdit(True)
End Sub
End Class
请帮忙修改 --------------------编程问答-------------------- Dim dt As New DataTable()
' Dim tb As DataTable = dBudget.DataSet.Tables(0)
Dim r As DataRow = dt.NewRow
r.Item("Pk_RentCenter") = Pk_RentCenter
************************************************这里报错,说(未处理ArgumentException、列"PK_RentCenter不属于表")*********************************************************************************************************
Dim dt As New DataTable() 你的表是个空表,所以会报错
dt=dBudget.DataSet.Tables(0).clone() 这样才会有表结构 --------------------编程问答--------------------
补充:.NET技术 , VB.NET