【发布时间】:2013-03-10 13:41:21
【问题描述】:
Dim sqlsyntax As String
Dim result As String
sqlsyntax = "INSERT INTO tblOfficeEquipmentProfile(OE_ID, OE_Category,OE_SubCategory, OE_Name, OE_User, OE_Brand, OE_Model, OE_Specs, OE_SerialNo, OE_PropertyNo, OE_Static_IP, OE_Vendor, OE_PurchaseDate, OE_WarrantyInclusiveYear, OE_WarrantyStatus, OE_Status, OE_Dept_Code,OE_Location_Code,OE_Remarks)" _
& "VALUES(@OE_ID,@OE_Category,@OE_SubCategory,@OE_Name,@OE_User,@OE_Brand,@OE_Model,@OE_Specs,@OE_SerialNo,@OE_PropertyNo,@OE_Static_IP,@OE_Vendor,@OE_PurchaseDate,@OE_WarrantyInclusiveYear,@OE_WarrantyStatus,@OE_Status,@OE_Dept_Code,@OE_Location_Code,@OE_Remarks)"
Dim adapter As SqlDataAdapter
adapter.InsertCommand = New SqlCommand(sqlsyntax, sqlconn)
adapter.InsertCommand.Parameters.Add("@OE_ID", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Category", SqlDbType.Char)
adapter.InsertCommand.Parameters.Add("@OE_SubCategory", SqlDbType.Char)
adapter.InsertCommand.Parameters.Add("@OE_Name", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_User", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Brand", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Model", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Specs", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_SerialNo", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_PropertyNo", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Static_IP", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Vendor", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_PurchaseDate", SqlDbType.SmallDateTime)
adapter.InsertCommand.Parameters.Add("@OE_WarrantyInclusiveYear", SqlDbType.Int)
adapter.InsertCommand.Parameters.Add("@OE_WarrantyStatus", SqlDbType.Char)
adapter.InsertCommand.Parameters.Add("@OE_Status", SqlDbType.VarChar)
adapter.InsertCommand.Parameters.Add("@OE_Dept_Code", SqlDbType.Char)
adapter.InsertCommand.Parameters.Add("@OE_Location_Code", SqlDbType.Char)
adapter.InsertCommand.Parameters.Add("@OE_Remarks", SqlDbType.VarChar)
For i As Integer = 0 To DataGrid1.VisibleRowCount - 1
'adapter.InsertCommand.Parameters(0).Value = Convert.ToInt32(txtEmpID.Text.Trim)
adapter.InsertCommand.Parameters(0).Value = DataGrid1(i, 0).GetType
adapter.InsertCommand.Parameters(1).Value = DataGrid1(i, 1).GetType
adapter.InsertCommand.Parameters(2).Value = DataGrid1(i, 2).GetType
adapter.InsertCommand.Parameters(3).Value = DataGrid1(i, 3).GetType
adapter.InsertCommand.Parameters(4).Value = DataGrid1(i, 4).GetType
adapter.InsertCommand.Parameters(5).Value = DataGrid1(i, 5).GetType
adapter.InsertCommand.Parameters(6).Value = DataGrid1(i, 6).GetType
adapter.InsertCommand.Parameters(7).Value = DataGrid1(i, 7).GetType
adapter.InsertCommand.Parameters(8).Value = DataGrid1(i, 8).GetType
adapter.InsertCommand.Parameters(9).Value = DataGrid1(i, 9).GetType
adapter.InsertCommand.Parameters(10).Value = DataGrid1(i, 10).GetType
adapter.InsertCommand.Parameters(11).Value = DataGrid1(i, 11).GetType
adapter.InsertCommand.Parameters(12).Value = DataGrid1(i, 12).GetType
adapter.InsertCommand.Parameters(13).Value = DataGrid1(i, 13).GetType
adapter.InsertCommand.Parameters(14).Value = DataGrid1(i, 14).GetType
adapter.InsertCommand.Parameters(15).Value = DataGrid1(i, 15).GetType
adapter.InsertCommand.Parameters(16).Value = DataGrid1(i, 16).GetType
adapter.InsertCommand.Parameters(17).Value = DataGrid1(i, 17).GetType
adapter.InsertCommand.Parameters(18).Value = DataGrid1(i, 18).GetType
result = adapter.InsertCommand.ExecuteNonQuery()
MsgBox("success fully added")
adapter.InsertCommand.Parameters.Clear()
Next
先生,我将代码修改为以下 sql 数据,
但是这里返回错误
---->adapter.InsertCommand = New SqlCommand(sqlsyntax, sqlconn)
错误: EOEHR.exe 中发生了“System.NullReferenceException”类型的未处理异常
附加信息:对象引用未设置为对象的实例。
【问题讨论】:
-
您在代码中看到的问题是什么?
-
它在这些代码中有下划线,当我指向光标时,它说类似行的东西不是 system.windows.forms.datagrid 的成员,我认为这段代码来自更高的 .net 框架,如 vb .net 2008
-
DataGrid 在 2.0 中被 DataGridView 取代 - 保留 DataGrid 是为了向后兼容。我可以在 MSDN 上看到 DataGrid 中没有
Rows属性。您确定此代码在 2008 年有效吗? -
问题:为什么要迁移到 .NET 1.1?我想不出任何理由,因为 .NET 2.0 可用于 1.1 的所有操作系统(甚至是 Windows 98)。
-
VS Express 2012 是免费提供的,应该可以满足您的需求。
标签: sql vb.net datagrid visual-studio-2003