大家好,我是一个新手,第一次提问,请多指教
1.请问怎样在c#中获得access中包含的表的数量,因为设计的程序是对一个不知道数量的数据库文件进行操作,所以需要知道表的数量进行导入,如果能有一种函数将所有的表直接导入到dataset中也可以2.在数据库中,需要区分1.1和1.10这样的数据,我没发现怎样用“数字”这种类型存储,我用文本这一类型存储的,但是导入到c#中,用convert.tosingle()和float.parse()都会使最后一位的0丢失,请各位大侠帮帮我啊!
多谢多谢了!!!
1.请问怎样在c#中获得access中包含的表的数量,因为设计的程序是对一个不知道数量的数据库文件进行操作,所以需要知道表的数量进行导入,如果能有一种函数将所有的表直接导入到dataset中也可以2.在数据库中,需要区分1.1和1.10这样的数据,我没发现怎样用“数字”这种类型存储,我用文本这一类型存储的,但是导入到c#中,用convert.tosingle()和float.parse()都会使最后一位的0丢失,请各位大侠帮帮我啊!
多谢多谢了!!!
_ExcelConn.Open();
DataTable _Table = _ExcelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);2 如果是数据类型 使用.ToString("0.00");
System.Data.OleDb.OleDbConnection DB_Connect = new System.Data.OleDb.OleDbConnection();
System.Data.DataTable DataTable = null;
string OleDb_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + @"C:\Test.mdb";
try
{
DB_Connect.ConnectionString = _OleDB_ConnStr;
DataTable = DB_Connect.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//DataTable.Rows.Count即为Access数据库的表数量,具体表的名称,可以在DataTable中取出
DB_Connect.Close();
}
catch (OdbcException ex)
{
//
}
finally
{
DB_Connect = null;
DataTable = null;
}(2).在C#中在读取显示时可以用string.Format()函数格式化成你需要的格式,因为你的数据表的字段类型本身就是文本型的。
System.Data.OleDb.OleDbConnection DB_Connect = new System.Data.OleDb.OleDbConnection();
System.Data.DataTable DataTable = null;
string OleDb_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + @"C:\Test.mdb";
try
{
DB_Connect.ConnectionString = _OleDB_ConnStr;
DB_Connect.Open();
DataTable = DB_Connect.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//DataTable.Rows.Count即为Access数据库的表数量,具体表的名称,可以在DataTable中取出
DB_Connect.Close();
}
catch (OdbcException ex)
{
//
}
finally
{
DB_Connect = null;
DataTable = null;
}
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
if (conn.State == ConnectionState.Closed)conn.Open();
System.Data.DataTable table = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
foreach (System.Data.DataRow drow in table.Rows)
{
string TableName = drow["Table_Name"].ToString();
Console.WriteLine(TableName + ":");
System.Data.DataTable tableColumns = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Columns, new object[] { null, null, TableName, null });
foreach (System.Data.DataRow drowColumns in tableColumns.Rows)
{
string ColumnName = drowColumns["Column_Name"].ToString();
Console.WriteLine(" " + ColumnName);
}
}
Console.ReadKey(true);或
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name;