dataset的问题--关于手动组织数据
我想用dataset组织一些读取来的信息,成一个表!但是数据却没有想我原本预计的那样显示出来!以下是简化的代码:
<%@ Page Language= "VB " Debug= "true "%>
<%@ Import Namespace = "system.IO " %>
<%@ Import Namespace = "system.Data " %>
<script runat= "server ">
Sub page_load(ByVal sender As Object, ByVal e As EventArgs)
Dim FileMsgDataset As New DataSet
Dim FileMsgTable As New DataTable '定义一个表对象
Dim TheColumn As DataColumn '定义一个列
TheColumn = New DataColumn '一个列实例,一个标识列
TheColumn.DataType = System.Type.GetType( "System.Int32 ") '列值类型
TheColumn.ColumnName = "ID " '列名
TheColumn.AutoIncrement = True '自动编号
TheColumn.AutoIncrementSeed = 1 '初始值
TheColumn.AutoIncrementStep = 1 '自动增长值
FileMsgTable.Columns.Add(TheColumn) '将列加入表实例
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.String ")
TheColumn.ColumnName = "FileName "
FileMsgTable.Columns.Add(TheColumn)
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.String ")
TheColumn.ColumnName = "FileClass "
FileMsgTable.Columns.Add(TheColumn)
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.String ")
TheColumn.ColumnName = "FilePub "
FileMsgTable.Columns.Add(TheColumn)
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.String ")
TheColumn.ColumnName = "FileDpm "
FileMsgTable.Columns.Add(TheColumn)
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.String ")
TheColumn.ColumnName = "FileSize "
FileMsgTable.Columns.Add(TheColumn)
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.DateTime ")
TheColumn.ColumnName = "FileEditDate "
FileMsgTable.Columns.Add(TheColumn)
TheColumn = New DataColumn
TheColumn.DataType = System.Type.GetType( "System.String ")
TheColumn.ColumnName = "FileFullName "
FileMsgTable.Columns.Add(TheColumn)
'定义主键
Dim TableKey() As DataColumn = {FileMsgTable.Columns( "ID ")}
FileMsgTable.PrimaryKey = TableKey
'**********************获取行记录并添加****************
Dim therow As DataRow = FileMsgTable.NewRow()
therow( "FileName ") = "objfile.Name "
therow( "FileClass ") = "objfile.DirectoryName "
therow( "FilePub ") = "objfile.DirectoryName "
therow( "FileDpm ") = "objfile.DirectoryName "
therow( "FileSize ") = "objfile.Length "
therow( "FileEditDate ") = Now()
therow( "FileFullName ") = "objfile.FullName "
'**********************************************************
FileMsgDataset.Tables.Add(FileMsgTable)
FileMsgDataset.Tables(0).TableName = "FileMsg " '设置数据表名
DataGrid1.DataSource = FileMsgDataset.Tables( "FileMsg ").DefaultView
DataGrid1.DataBind()
End Sub
</script>
<html>
<body >
<form runat = "server " >
<asp:DataGrid ID= "DataGrid1 " runat= "server ">
</asp:DataGrid>
</form>
</body>
</html>
望有高手帮解决,麻烦帮运行测试一下!
页面运行后,没有错误提示,但是只显示列名,没有记录显示出来!
[解决办法]
Dim therow As DataRow = FileMsgTable.NewRow()
therow( "FileName ") = "objfile.Name "
therow( "FileClass ") = "objfile.DirectoryName "
therow( "FilePub ") = "objfile.DirectoryName "
therow( "FileDpm ") = "objfile.DirectoryName "
therow( "FileSize ") = "objfile.Length "
therow( "FileEditDate ") = Now()
therow( "FileFullName ") = "objfile.FullName "
//加上
FileMsgTable.Rows.Add(therow )