这段vb.net代码错在哪?该怎么处理
这段vb.net代码错在哪?
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Function get_dsn(ByVal bolsql As Boolean) As String
'Try
If Not bolsql Then
get_dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/db1.mdb")
Else
get_dsn = "Provider=SQLOLEDB.1;Data Source=Alvinnt;User Id=sa;" & "Password=;Initial Catalog=ASPNew;autotranslate=no;"
End If
'Catch ex As Exception
'MsgBox("驱动错误")
'End Try
End Function
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'Try
Dim strsql, strdsn As String
strsql = "select * from table1 order by post_time desc"
strdsn = get_dsn(False)
Dim objconn As OleDbConnection = New OleDbConnection(strdsn)
Dim objcmd As OleDbDataAdapter = New OleDbDataAdapter()
objcmd.TableMappings.Add("db1", "table1")
objcmd.SelectCommand = New OleDbCommand(strsql, objconn)
Dim objds As DataSet = New DataSet("table1")
objcmd.Fill(objds)
Dim objdt As New DataTable
objdt = objds.Tables("table1")
Dim i, j As Integer
Dim objrow As DataRow
'------------------这段代码有问题
For Each objrow In objdt.Rows
'-------------------------------
If i = 1 Then
Response.Write("<h3>使用dataset对象捕获数据</h3>")
Response.Write("<table border=1 cellpadding=2 width=988>")
Response.Write("<tr bgcolor='#c1ffff'")
For j = 0 To objdt.Columns.Count - 1
Response.Write("<td>" & objdt.Columns(j).ColumnName)
Response.Write("</td>")
Next
Response.Write("</tr>")
End If
Response.Write("<tr>")
'------------显示字段内容------------
For j = 0 To objdt.Columns.Count - 1
Response.Write("<td>" & objrow.Item(j) & "</td>")
Next
Response.Write("</table><hr>")
i += 1
Next
Response.Write("</table><hr>")
'Catch ex As Exception
'MsgBox("首页加载有问题")
'End Try
End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
</body>
</html>
这段vb.net代码错在哪?编译器提示:在注释符标名那一段未将对象实例化,到底是怎么回事?搞不懂。。。
------解决方案--------------------
1.去掉 %与>间的空格
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
1.把这句
objcmd.Fill(objds)
改成
objcmd.Fill(objds,"db1")
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Function get_dsn(ByVal bolsql As Boolean) As String
'Try
If Not bolsql Then
get_dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/db1.mdb")
Else
get_dsn = "Provider=SQLOLEDB.1;Data Source=Alvinnt;User Id=sa;" & "Password=;Initial Catalog=ASPNew;autotranslate=no;"
End If
'Catch ex As Exception
'MsgBox("驱动错误")
'End Try
End Function
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'Try
Dim strsql, strdsn As String
strsql = "select * from table1 order by post_time desc"
strdsn = get_dsn(False)
Dim objconn As OleDbConnection = New OleDbConnection(strdsn)
Dim objcmd As OleDbDataAdapter = New OleDbDataAdapter()
objcmd.TableMappings.Add("db1", "table1")
objcmd.SelectCommand = New OleDbCommand(strsql, objconn)
Dim objds As DataSet = New DataSet("table1")
objcmd.Fill(objds)
Dim objdt As New DataTable
objdt = objds.Tables("table1")
Dim i, j As Integer
Dim objrow As DataRow
'------------------这段代码有问题
For Each objrow In objdt.Rows
'-------------------------------
If i = 1 Then
Response.Write("<h3>使用dataset对象捕获数据</h3>")
Response.Write("<table border=1 cellpadding=2 width=988>")
Response.Write("<tr bgcolor='#c1ffff'")
For j = 0 To objdt.Columns.Count - 1
Response.Write("<td>" & objdt.Columns(j).ColumnName)
Response.Write("</td>")
Next
Response.Write("</tr>")
End If
Response.Write("<tr>")
'------------显示字段内容------------
For j = 0 To objdt.Columns.Count - 1
Response.Write("<td>" & objrow.Item(j) & "</td>")
Next
Response.Write("</table><hr>")
i += 1
Next
Response.Write("</table><hr>")
'Catch ex As Exception
'MsgBox("首页加载有问题")
'End Try
End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
</body>
</html>
这段vb.net代码错在哪?编译器提示:在注释符标名那一段未将对象实例化,到底是怎么回事?搞不懂。。。
------解决方案--------------------
1.去掉 %与>间的空格
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
1.把这句
objcmd.Fill(objds)
改成
objcmd.Fill(objds,"db1")