c#连ACESS时怎么判断某个表是否存在啊?还有能不能直接读出来这个表当中有什么内容?

解决方案 »

  1.   

    select 1 from msysobject where name = 'tablename';
    后面的应该知道了吧
      

  2.   

    1. 取得表列表:
    private string[] gettableNameList(OleDbConnection oleDbConnection)
    {
    DataTable schemaTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
    new object[] {null, null, null, "TABLE"});
    int rowCount = schemaTable.DefaultView.Count;
    string[] tableNameList = new string[rowCount];
    for(int i = 0; i<rowCount; i++)
    {
    tableNameList[i] = schemaTable.DefaultView.Table.Rows[i]["TABLE_NAME"].ToString();
    }
    return tableNameList; }2. 判断表是否存在:
    private  bool tableNameIsExist(string TbName, string[] TbNameList)
    {
    bool tbIsExist = false;
    foreach(string tbName in TbNameList)
    {
    if (tbName == TbName)
    tbIsExist = true;
    }
    return tbIsExist;
    }
      

  3.   

    请帮我看看这么写错误出在哪
    string dbCommand = null;
    OleDbDataReader myDataReader = null;
    string userName = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\\06.mdb;";
    this.DBConnect(userName);//连接名为06.mdb的数据库dbCommand = "SELECT * FROM tbl1 WHERE Flags=0 AND Type=1 AND name = 'tbl1';";DBSelect(dbCommand, ref myDataReader);//读取
    try
    {
        while(myDataReader.HasRows)
        {
            string str2 = myDataReader[0].ToString();     }
    }
    catch (Exception ex)
    {
    }try
    {
         dbCommand = "SELECT * FROM tbl1 WHERE Flags=0 AND Type=1;";     DBSelect(dbCommand, ref myDataReader);//读取     while (myDataReader.HasRows)
         {
              string str2 = myDataReader[0].ToString();      }
    }
    catch (Exception ex1)
    {
    }
    this.DBDisconnect();//关闭连接06.mdb