>데이터 베이스 >MySQL 튜토리얼 >C#操作Access之按列读取mdb浅析

C#操作Access之按列读取mdb浅析

WBOY
WBOY원래의
2016-06-07 15:44:111307검색

C#操作Access之按列读取mdb是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。 C#操作Access

C#操作Access之按列读取mdb是如何实现的呢?首先我们来看看基本的知识:本文C#操作Access数据库的基础知识,并提供一个相关的实例。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。

C#操作Access主要知识点如下:

<ol>
<li><span><span>using</span><span> System.Data.OleDb;  </span></span></li>
<li><span> </span></li>
<li>
<span>using</span><span> System.Data; </span>
</li>
</ol>

C#操作Access连接字符串:

<ol>
<li><span>String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;  </span></li>
<li><span> </span></li>
<li><span>Data Source=product.mdb"; </span></li>
</ol>

C#操作Access建立连接:

<ol><li><span><span>OleDbConnection connection = </span><span>new</span><span> OleDbConnection(connectionString); </span></span></li></ol>

C#操作Access使用OleDbCommand类来执行Sql语句:

<ol>
<li><span><span>OleDbCommand cmd = </span><span>new</span><span> OleDbCommand(sql, connection);  </span></span></li>
<li><span> </span></li>
<li><span>connection.Open();  </span></li>
<li><span> </span></li>
<li><span>cmd.ExecuteNonQuery(); </span></li>
</ol>

C#操作Access之按列读取mdb内容实例如下:

columns数组存储的是你要查询的列名称(必须确保mdb表中存在你要的列)

<ol>
<li><span><span>// 读取mdb数据  </span><span> </span></span></li>
<li>
<span>public</span><span> </span><span>static</span><span> DataTable ReadDataByColumns(</span><span>string</span><span> mdbPaht,</span>
</li>
<li>
<span>string</span><span> tableName, </span><span>string</span><span>[] columns, </span><span>ref</span><span> </span><span>bool</span><span> success)   </span>
</li>
<li><span>{   </span></li>
<li>
<span>    DataTable dt = </span><span>new</span><span> DataTable();   </span>
</li>
<li>
<span>    </span><span>try</span><span>   </span>
</li>
<li><span>    {   </span></li>
<li><span>DataRow dr;   </span></li>
<li>
<span>//1、建立连接 C#操作Access之按列读取mdb </span><span> </span>
</li>
<li>
<span>string</span><span> strConn = @</span><span>"Provider=Microsoft.</span>
</li>
<li>
<span>Jet.OLEDB.4.0;Data Source="</span><span> </span>
</li>
<li>
<span>+ mdbPath + </span><span>";Jet OLEDB:Database Password=haoren"</span><span>;   </span>
</li>
<li><span>OleDbConnection odcConnection = </span></li>
<li>
<span>new</span><span> OleDbConnection(strConn);   </span>
</li>
<li>
<span>//2、打开连接 C#操作Access之按列读取mdb </span><span> </span>
</li>
<li><span>odcConnection.Open();   </span></li>
<li>
<span>//建立SQL查询  </span><span> </span>
</li>
<li><span>OleDbCommand odCommand = odcConnection.CreateCommand();   </span></li>
<li>
<span>//3、输入查询语句  </span><span> </span>
</li>
<li>
<span>string</span><span> strColumn = </span><span>""</span><span>;   </span>
</li>
<li>
<span>for</span><span> (</span><span>int</span><span> i = 0; i </span>
</li>
<li><span>{   </span></li>
<li>
<span>    strColumn += columns[i].ToString() + </span><span>","</span><span>;   </span>
</li>
<li><span>}   </span></li>
<li>
<span>strColumn = strColumn.TrimEnd(</span><span>','</span><span>);   </span>
</li>
<li>
<span>odCommand.CommandText = </span><span>"select "</span><span>+strColumn+</span>
</li>
<li>
<span>" from "</span><span> + tableName;   </span>
</li>
<li>
<span>//建立读取 C#操作Access之按列读取mdb </span><span> </span>
</li>
<li><span>OleDbDataReader odrReader = </span></li>
<li><span>odCommand.ExecuteReader();   </span></li>
<li>
<span>//查询并显示数据 C#操作Access之按列读取mdb </span><span> </span>
</li>
<li>
<span>int</span><span> size = odrReader.FieldCount;   </span>
</li>
<li>
<span>for</span><span> (</span><span>int</span><span> i = 0; i </span>
</li>
<li><span>{   </span></li>
<li><span>    DataColumn dc;   </span></li>
<li>
<span>    dc = </span><span>new</span><span> DataColumn(odrReader.GetName(i));   </span>
</li>
<li><span>    dt.Columns.Add(dc);   </span></li>
<li><span>}   </span></li>
<li><span> </span></li>
<li>
<span>while</span><span> (odrReader.Read())   </span>
</li>
<li><span>{   </span></li>
<li><span>    dr = dt.NewRow();   </span></li>
<li>
<span>    </span><span>for</span><span> (</span><span>int</span><span> i = 0; i </span>
</li>
<li><span>    {   </span></li>
<li><span>dr[odrReader.GetName(i)] = odrReader[</span></li>
<li><span>odrReader.GetName(i)].ToString();   </span></li>
<li><span>    }   </span></li>
<li><span>    dt.Rows.Add(dr);   </span></li>
<li><span>}   </span></li>
<li>
<span>//关闭连接 C#操作Access之按列读取mdb </span><span> </span>
</li>
<li><span>odrReader.Close();   </span></li>
<li><span>odcConnection.Close();   </span></li>
<li>
<span>success = </span><span>true</span><span>;   </span>
</li>
<li>
<span>return</span><span> dt;   </span>
</li>
<li><span>    }   </span></li>
<li>
<span>    </span><span>catch</span><span>   </span>
</li>
<li><span>    {   </span></li>
<li>
<span>success = </span><span>false</span><span>;   </span>
</li>
<li>
<span>return</span><span> dt;   </span>
</li>
<li><span>    }   </span></li>
<li><span>}  </span></li>
</ol>

C#操作Access之按列读取mdb的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之按列读取mdb有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.