string tableName = " music " ; OleDbConnection conn; OleDbDataAdapter da; DataTable dt = new DataTable(); string dbname = @" E:\data.mdb " ; // server.mappath("authors.mdb"); conn = new OleDbConnection( " PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source= " + dbname); conn.Open(); da = new OleDbDataAdapter( " select * from " + tableName + "" , conn); DataSet ds = new DataSet(); da.Fill(dt); ds.Tables.Add(dt); ds.DataSetName = " DataSetName " ; ds.Tables[ 0 ].TableName = " UserInfor " ; string aaa = ds.GetXml(); string bb = aaa.Insert( 0 , " <?xml version='1.0' encoding='utf-8' ?> \r\n " ); Response.Write(bb); Response.End();
我这段代码的功能是从数据库中查出满足条件的数据,然后输出到页面。但是遇到了两个问题有点想不通,所以在这里贴出来。 1、开始用的表的名称是user,每次运行的时候总是出错,说是“FROM 子句语法错误”,后来想了想发现user属于系统名称,这里的表名称定义有问题。 2、这个也是我想不通的问题,开始我没有对DataSet和DataTable定义DataSetName名称和DataTable名称,结果输出来的只是数据库中的数据,没有结构出来,后来给DataSet和DataTable随便定义个名称输出结构就对了。我这里跟踪调试了一下,发现如果没有定义名称的话,系统给个 指定的名称,分别是NewDataSet和NewDataTable。