﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-MT'S BLOG</title><link>http://www.cnitblog.com/MTSIT/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 05:57:37 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 05:57:37 GMT</pubDate><ttl>60</ttl><item><title>使用DataReader</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/23/19551.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Thu, 23 Nov 2006 15:00:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/23/19551.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19551.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/23/19551.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19551.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19551.html</trackback:ping><description><![CDATA[    ADO.NET提供了三个类:DBConnection, DBCommand 和 DBDataReader，它们与传统的ADO对象十分的相似。但是在.NET应用程序中它们不能被直接使用。能够使用的是从它们继承而来的类，比如ADOConnection, ADOCommand 和 ADODataReader来读取数据，这里的前提是存在一个OLEDB的Provider。如果要操作的对象是SQL Server，那么将使用另一些功能相同的类SQLConnection, SQLCommand 和 SQLDataReader 以便直接通过SQL Server 的 TDS 连接通道来获得更好的工作性能。下面是一个例子（因为在这里C#和VB.NET的代码区别不是很大，所以将只使用VB.NET的实例）：<br />     <br /><font color="#3366ff" size="2">Imports System.Data<br />Imports System.Data.ADO<br />..<br />Dim cn As New ADOConnection()<br />cn.ConnectionString = strConnect<br /><br />Try<br />   cn.Open()<br />   Dim cd As New ADOCommand(搒elect * from authors? cn)<br />   Dim dr As ADODataReader<br />   cd.Execute(dr)<br />   While dr.Read()<br />     listbox1.Items.Add(dr(揳u_lname?)<br />   End While<br />Catch err As Exception<br />   MsgBox(err.ToString)<br />Finally<br />   If cn.State = DBObjectState.Open Then cn.Close()<br />End Try</font><p>    在上面你会发现在While Loop语句中没有出现MoveNext方法，因为DataReader的Read方法将自动前移光标，并会在没有数据的时候返回一个False值。这显然减轻了开发者的工作量。<br /><br />    在两种情况下，DataReader被推荐使用：一、客户界面利用手写代码，或是没有用到数据绑定并且数据的更新是利用手写的SQL语句或是存储过程，这种情况下，DataReader将提供有效的访问相关数据的方法；二、一个需要查看数据库状态的的过程，但不需要实现诸如自动更新的功能。一些比较好的应用实例有向下拉菜单填充数据，以及产品编号的验证。<br /><br />理解DataSets<br />    <br />    对于一些开发者来说，可能会对DataSets的使用颇有微词，但事实上，掌握它并不难。如果你对连接断开的RecordSet 模式，以及分层的RecordSet 的使用不陌生，并且乐于使用一些XML的话，那么利用DataSets 就没有什么困难了。<br /><br />    可是有什么必要去花费时间去重新学习一种对象模型呢？<br />    理由之一是，ADO.NET 力推的断开连接模式（disconnected model）是非常有意义的。断开连接的数据伸缩性更高，因为这种模式对数据服务器的压力比较小。通过平行服务器对中间层进行扩展比对数据层进行扩展要容易的多，因此对于可扩展的应用程序来说，对数据层资源的使用要谨慎。断开连接模式将在这里得到应用。<br />    理由二，在数据管理方面，断开连接模式有非常广阔的前景。<br /><br />    如果说有一种技术的 发展比ADO还要迅速，这就是XML。XML解决了两个ADO所对的局限。<br />    1、XML更加适用与跨平台的的数据传输，因为它能够穿越防火墙。<br />    2、XML比ADO包括它的扩展ADO2.5描述的类型多。一个简单的例子，同样面对扁平的数据，普通的XML将比ADO显示出更高的效率。<br /><br />    DataSets是XML与ADO结合的产物，它的一个重要的特点是与数据库或SQL无关。它只是简单的对数据表进行操作，交换数据或是将数据绑定到用户界面上。<br /><br />    向DataSets中加入数据表的方法有两种：<br />    1、利用DataSetCommand对象，它可以以XML 的形式返回一个数据库查询的结果。在处理数据库更新的时候，这种方法与ADO的客户端光标基本相同，但提供更强的控制。<br />    2、直接对XML数据进行操作。DataSet 对象有对XML数据和Schemas进行读写的的方法，并且可以和XMLDataDocument对象（该对象是多用途XMLDocument类的继承）紧密的结合起来工作，它具有一些对扁平数据操作的特殊函数因此可以作为从DataSet 到通用XML DOM的桥梁。<br /><br />    下面是一段使用DataSet的代码：<br /><font color="#3366ff" size="2">Dim dc As New ADODataSetCommand( _<br />   "select au_id, au_fname, au_lname from authors" &amp; _<br />   " where au_lname = ‘Ringer’", strConnect)<br />Dim ds As New DataSet()<br /><br />dc.FillDataSet(ds, "Authors")<br />MsgBox(ds.XmlSchema, , "XML Schema")<br />MsgBox(ds.XmlData, , "XML Data")<br /><br />     </font>以上的代码将一个‘AUTHORS’数据表填充到DataSet 对象实例 ds 中，并显示了XML数据和Schemas，请看两个显示结果：表1 和 表2<br /><br />     向DataSet中添加数据表的操作是非常容易的，请看下面的代码：<br /><br /><font color="#3366ff" size="2">dc = New ADODataSetCommand( _<br />   "select * from titleauthor" &amp; _<br />   " where title_id like 'PS%'", strConnect)<br /><br />dc.FillDataSet(ds, "Titles")<br />MsgBox(ds.XmlData, , "XML Data")<br /> <br /><br /><img src="http://www.itpeople.com.cn/tech/image/fig2.gif" border="0" /><br /><br />表1显示XML Schema<br /><br /><img height="247" src="http://www.itpeople.com.cn/tech/image/fig3.gif" width="206" border="0" /><br /><br /><br />表2显示DataSet 对象生成的数据</font></p><p><font face="Courier New" color="#3366ff" size="2">     </font><br /></p><img src ="http://www.cnitblog.com/MTSIT/aggbug/19551.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-23 23:00 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/23/19551.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>点击不显示表格</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/23/19532.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Thu, 23 Nov 2006 02:53:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/23/19532.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19532.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/23/19532.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19532.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19532.html</trackback:ping><description><![CDATA[
		<p>&lt;Script Language="javascript"&gt;<br />function expand(m){</p>
		<p>if (document.all("m"+""+m).style.display=="")    //加 ""可使后m转为字符型<br />  document.all("m"+""+m).style.display="none";<br />else<br />   document.all("m"+""+m).style.display="";<br />}<br />--&gt;<br />&lt;/Script&gt;<br />&lt;/head&gt;</p>
		<p>&lt;body&gt;<br />&lt;div align="center"&gt;<br /> &lt;center&gt;<br /> &lt;table width="100" border="0" cellspacing="0" cellpadding="0"&gt;<br />  &lt;tr onclick="expand(1)"&gt;<br />    &lt;td  &gt;&lt;span class="STYLE1"&gt;标题1&lt;/span&gt;&lt;/td&gt;<br />  &lt;/tr&gt;<br />  &lt;tr id="m1"&gt;<br />    &lt;td&gt;&lt;span class="STYLE2"&gt;ABCDEFG&lt;/span&gt;&lt;/td&gt;<br />  &lt;/tr&gt;<br />&lt;/table&gt;</p>
<img src ="http://www.cnitblog.com/MTSIT/aggbug/19532.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-23 10:53 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/23/19532.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL库连接</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19322.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 19 Nov 2006 10:06:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19322.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19322.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19322.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19322.html</trackback:ping><description><![CDATA[
		<p>  Private Sub SQLM()<br />        Dim myconn As String = "server=(local);UID=sa;PWD=123456; database=tj"<br />        SqlConnection1 = New SqlClient.SqlConnection(myconn)<br />        'sqlCommand1 = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)</p>
		<p>
				<br />        SqlDataAdapter1 = New SqlClient.SqlDataAdapter("select 分类1,id from 通信录1", SqlConnection1)<br />        SqlDataAdapter1.Fill(DSLIST11, "通信录1")<br />        DataGridView1.DataSource = DSLIST11.Tables(0)</p>
		<p>    End Sub<br /><br /> Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />        'OleDbDataAdapter1.SelectCommand = New OleDb.OleDbCommand("select top 5 * from 通信录1", OleDbConnection1)<br /></p>
		<p>        SqlDataAdapter1.SelectCommand = New SqlClient.SqlCommand("select top 5 * from 通信录1", SqlConnection1)<br />        DSLIST11.Clear()<br />        SqlDataAdapter1.Fill(DSLIST11, "通信录1")<br />    End Sub<br /><br /><br />Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load</p>
		<p>                  Call SQLM()</p>
		<p>    End Sub</p>
<img src ="http://www.cnitblog.com/MTSIT/aggbug/19322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-19 18:06 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/19/19322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP.NET 初学VB.NET连接SQL数据库！</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19320.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 19 Nov 2006 09:49:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19320.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19320.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19320.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19320.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19320.html</trackback:ping><description><![CDATA[&lt;%@ Page Language="VB" Debug="true" trace="true" %&gt; <br />&lt;%@ Import NameSpace="System.Data" %&gt; <br />&lt;%@ Import NameSpace="System.data.SQLClient" %&gt; <br />&lt;script language="VB" runat="server"&gt; <br />Sub Page_Load(sender as object, E as eventargs) <br />Dim ds as DataSet <br />Dim MyConnection as SQLConnection <br />Dim MyAdpt as SQLDataAdapter <br />MyConnection =New SQLConnection("server='localhost';UID=sa;PWD=wenasen.com; database=credit_sql") <br />MyAdpt = New SQLDataAdapter("select * from admin",MyConnection) <br />ds= new DataSet() <br />MyAdpt.Fill(ds,"admin") <br />dgA.DataSource=ds.tables("admin").defaultView <br />dgA.DataBind() <br />end sub <br />&lt;/script&gt; <br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt; <br />&lt;title&gt;显示SQL数据库&lt;/title&gt; <br />&lt;/head&gt; <br />&lt;body&gt; <br />&lt;form id="form1" runat="server"&gt; <br />&lt;asp:datagrid id="dgA" runat="server" AllowPaging="true" Width="100%" CellPadding="1" EditItemStyle-BackColor="" <br />HeaderStyle-BackColor="#00CCCC" border="1" AlternatingItemStyle-BackColor="#CCCCCC" <br />&gt;&lt;/asp:datagrid&gt; <br />&lt;/form&gt; <br />&lt;/body&gt; <br />&lt;/html&gt; <br /><img src ="http://www.cnitblog.com/MTSIT/aggbug/19320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-19 17:49 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/19/19320.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ADO.Net的Programmer Guide</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19319.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 19 Nov 2006 09:45:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19319.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19319.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19319.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19319.html</trackback:ping><description><![CDATA[
		<h1>ADO.Net的Programmer Guide</h1>
		<table width="46%" border="1">
				<tbody>
						<tr>
								<td width="34%">創稿人</td>
								<td width="23%">蔡爾榮</td>
								<td width="38%">創稿日期</td>
								<td width="39%">2002/11/15</td>
						</tr>
						<tr>
								<td width="34%">最後修改人</td>
								<td width="23%">蔡爾榮</td>
								<td width="38%">最後修改日期</td>
								<td width="39%">2003/02/03</td>
						</tr>
				</tbody>
		</table>
		<p>版本：1.06.00.0007</p>
		<p>本文以SQL Server .Net managed data provider為準，若使用OleDB連接Database，可以在Class name用OleDb取代Sql。</p>
		<p>本文不會詳述ADO.Net的使用方式，僅提供一brief introduction，詳細說明請自行參閱ADO.Net的OnLine Help。</p>
		<h1>ADO.Net-System.Data</h1>
		<h2>DataSet</h2>
		<p>類似SQL Server的Database，DataSet中可以含DataTable，DataRelation。</p>
		<h2>DataTable</h2>
		<p>類似SQL Server的Table，DataTable上可以有DataView，DataTable與DataTable間可以有DataRelation。</p>
		<p>DataTable可以有PrimaryKey。</p>
		<p>當DataTable.NewRow時，DataTable中Columns的Default就會跑至新增DataRow中了。</p>
		<p>當DataTable.Rows.Add(row)，ADO.Net會檢查該Row是否違反Constraint。</p>
		<p>There are several events that are raised by the DataTable object when a change is occurring in a record: <br /><br />The ColumnChanging and ColumnChanged events are raised during and after each change to an individual column. The ColumnChanging event is useful when you want to validate changes in specific columns. Information about the proposed change is passed as an argument with the event. <br />The RowChanging and RowChanged events are raised during and after any change in a row. The RowChanging event is more general, in that it simply indicates that a change is occurring somewhere in the row; you do not know which column has changed.  <br />By default, each change to a column therefore raises four events: first the ColumnChanging and ColumnChanged events for the specific column being changed, and then the RowChanging and RowChanged event. If multiple changes are being made to the row, the events will be raised for each change.<br /><br /><b>Note</b> The data row's BeginEdit method turns off the RowChanging and RowChanged events after each individual column change. In that case, the event is not raised until the EndEdit method has been called, when the RowChanging and RowChanged events are raised just once. <br />The event you choose depends on how granular you want the validation to be. If it is important that you catch an error immediately when a column is changed, build validation using the ColumnChanging event. Otherwise, use the RowChanging event, which might result in catching several errors at once. Additionally, if your data is structured in such a way that the value of one column is validated based on the contents of another column then you should perform your validation during the RowChanging event.</p>
		<h2>DataView</h2>
		<p>類似SQL Server的View，DataView依附於DataTable，本身不存資料，資料存在DataTable中。</p>
		<h2>DataRow</h2>
		<p>DataTable中的一筆資料。</p>
		<p>有RowState決定目前Row是新增刪除或修改。</p>
		<p>具有double data buffer的功能。</p>
		<p>DataRowCollection類似ADO.Recordset</p>
		<p>The <b>DataRowVersion</b> informs you what version of a <b>DataRow</b> exists. Versions change under the following circumstances: 
</p>
		<ul type="disc">
				<li>After calling the <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclasstopic.htm">DataRow</a> object's <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclassbeginedittopic.htm">BeginEdit</a> method, if you change the value, the <b>Current</b> and <b>Proposed</b> values become available. 
</li>
				<li>After calling the <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclasstopic.htm">DataRow</a> object's <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclasscanceledittopic.htm">CancelEdit</a> method, the <b>Proposed</b> value is deleted. 
</li>
				<li>After calling the <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclasstopic.htm">DataRow</a> object's <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclassendedittopic.htm">EndEdit</a> method, the Proposed value becomes the <b>Current</b> value. 
</li>
				<li>After calling the <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclasstopic.htm">DataRow</a> object's <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclassacceptchangestopic.htm">AcceptChanges</a> method, the <b>Original</b> value becomes identical to the <b>Current</b> value. 
</li>
				<li>After calling the <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatatableclasstopic.htm">DataTable</a> object's <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatatableclassacceptchangestopic.htm">AcceptChanges</a> method, the <b>Original</b> value becomes identical to the <b>Current</b> value. 
</li>
				<li>After calling the <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclasstopic.htm">DataRow</a> object's <a href="http://www.tquark.com.tw/techforum/Net/General/frlrfsystemdatadatarowclassrejectchangestopic.htm">RejectChanges</a>, the <b>Proposed</b> value is discarded, and the version becomes <b>Current</b>. </li>
		</ul>
		<h3>DataRowVersion</h3>
		<p>當DataRow.HasVersion(DataRowVersion.Proposed) == true時，DataRow["DataCol"]會與DataRow["DataCol",DataRowVersion.Proposed]相同。</p>
		<p>當DataRow.HasVersion(DataRowVersion.Proposed) == false時，DataRow["DataCol"]會與DataRow["DataCol",DataRowVersion.Current]相同。</p>
		<h2>DataRowView</h2>
		<p>DataView中的一筆資料。</p>
		<h2>DataColumn</h2>
		<p>記載DataTable中的Column Schema。</p>
		<p>有AutoIncrement Column類似SQL Server Identity的功能。</p>
		<p>有計算欄位的功能。</p>
		<p>當DataColumn被Assign到某Table後，該DataColumn的MaxLength便無法修改。</p>
		<h2>DataRelation</h2>
		<p>類似SQL Server的Foreign key constrain，描述著DataTable與DataTable之間的關係。</p>
		<h1>SQLClient-System.Data.SqlClient</h1>
		<h2>SqlDataAdapter</h2>
		<p>ADO.Net與Database溝通的Class。可將SQL Server上的Table讀進DataTable，亦可將DataTable的異動寫回Database。</p>
		<h2>SqlConnection</h2>
		<p>類似ADO.Connection。</p>
		<h2>SqlParameter</h2>
		<p>類似ADO.Parameter。</p>
		<h2>SqlCommand</h2>
		<p>類似ADO.Command</p>
		<p>在使用SqlCommand.ExecuteScalar(含IDbCommand.ExecuteScalar)時須注意，當SqlCommand.CommandText的語法錯誤時，會throw Exception，但是若僅僅是型別有錯，是不會throw Exception的，但是該SqlConnection會自動被Rollback，且ExecuteScalar return null。</p>
		<p>例如：CaseMap.MapID在資料庫的型別為int</p>
		<p>sqlConnection1.Open();<br />IDbCommand SQLCommand = new SqlCommand("select count(*) from CaseMap where MapID='<b>rwerwe</b>'",sqlConnection1);<br />SQLCommand.ExecuteScalar(); // 不會throw Exception<br />sqlConnection1.Close();</p>
		<p>sqlConnection1.Open();<br />IDbCommand SQLCommand = new SqlCommand("select count(*) from CaseMap <b>where1</b> MapID='1'",sqlConnection1); <br />SQLCommand.ExecuteScalar();　// 會throw Exception<br />sqlConnection1.Close();</p>
		<p>TQuarkLib.Net的TQuark.Lib.Data.DBHelp.ExecuteScalarMustHaveValue提供一Partial Solution。當IDbCommand.ExecuteScalar return null時，會throw exception，但是依然無法恢復Transaction的狀態，因為該Connection已經被sp_reset_connection了。</p>
		<h2>SqlDataReader</h2>
		<p>可自SQL Server一筆一筆資料讀取的class。</p>
		<h1>SqlDataAdapter.Update與Transaction的關係</h1>
		<p>當呼叫SqlDataAdapter.Update時，若發生Exception，因為Update是Process by Row by row的，理論上已經做完的Row其RowState應該已經AcceptChange。但是若後來SQL Rollback會造成State不符。</p>
		<h1>Read and Write BLOB Data by Using ADO.NET</h1>
		<p>待研究</p>
		<h1>TQuarkLib.Net的支援</h1>
		<h2>DataHelp</h2>
		<p>提供一些有關DataSet，DataTable，DataView，DataRow間處理的utility。</p>
		<h2>DBHelp</h2>
		<p>提供一些有關DataSet，DataTable，DataView，DataRow與IDbCommand的處理utility。</p>
		<h2>SqlHelp</h2>
		<p>提供一些有關DataSet，DataTable，DataView，DataRow與SqlClient的處理utility。</p>
		<h2>DataSetTransactionControl</h2>
		<p>類似NestedTransactionControl，但是NestedTransactionControl是支援Connection，而DataSetTransactionControl是支援DataSet。</p>
		<h2>DataSetTransactionMonitor</h2>
		<p>類似DBTransactionMonitor，但是DBTransactionMonitor是支援Connection，而DataSetTransactionMonitor是支援DataSet。</p>
<img src ="http://www.cnitblog.com/MTSIT/aggbug/19319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-19 17:45 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/19/19319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VB.NET操作SQL Server完全模块</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19309.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 19 Nov 2006 02:46:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19309.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19309.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19309.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19309.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19309.html</trackback:ping><description><![CDATA[
		<div class="ContentFont" id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
				<font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">Module ModSql<br /><br />Function GetIntByStr(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "='" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), 0, sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br /><br /><br />End Function<br /><br /><br /><br />Function GetIntByInt(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As Integer) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "=" &amp; ParaValue &amp; ""<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), 0, sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetStrByStr(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As String) As String<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "='" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As String = ""<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), "", sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return Trim(rowsAffected)<br /><br />End Function<br /><br /><br /><br />Function GetStrByInt(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As Integer) As String<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "=" &amp; ParaValue &amp; ""<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As String = ""<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), "", sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return Trim(rowsAffected)<br /><br />End Function<br /><br /><br /><br />Function GetBitByStr(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As String) As Boolean<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "='" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Boolean = False<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), False, sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetBitByInt(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As Integer) As Boolean<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "=" &amp; ParaValue &amp; ""<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Boolean = False<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), False, sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetDateByInt(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As Integer) As DateTime<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "=" &amp; ParaValue &amp; ""<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As DateTime<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), DateAdd(DateInterval.Year, -100, Date.Now), sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetDateByStr(ByVal FieldName As String, ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As String) As DateTime<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "select Top 1 " &amp; FieldName &amp; " from " &amp; TableName &amp; " where " &amp; ParaName &amp; "='" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As DateTime<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), DateAdd(DateInterval.Year, -100, Date.Now), sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function DelByInt(ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As Integer) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "DELETE FROM " &amp; TableName &amp; " WHERE " &amp; ParaName &amp; " =" &amp; ParaValue<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function DelByStr(ByVal TableName As String, ByVal ParaName As String, ByVal ParaValue As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "DELETE FROM " &amp; TableName &amp; " WHERE " &amp; ParaName &amp; "='" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br />Function DelBySQL(ByVal StrSQL As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = StrSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br />Function UpdateBitBySQL(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As Boolean, ByVal ParaSQL As String) As String<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = " &amp; IIf(DataFieldValue = True, 1, 0) &amp; " WHERE " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />sqlConnection.Open()<br /><br />Try<br /><br />sqlCommand.ExecuteNonQuery()<br /><br />Return ""<br /><br />Catch ex As Exception<br /><br />Return ex.Message<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br />End Function<br /><br />Function UpdateStrByInt(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As String, ByVal Para As String, ByVal ParaValue As Integer) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = '" &amp; DataFieldValue &amp; "' WHERE " &amp; Para &amp; " = " &amp; ParaValue<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function UpdateStrByStr(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As String, ByVal Para As String, ByVal ParaValue As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = '" &amp; DataFieldValue &amp; "' WHERE " &amp; Para &amp; " = '" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function UpdateIntByInt(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As Integer, ByVal Para As String, ByVal ParaValue As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = " &amp; DataFieldValue &amp; " WHERE " &amp; Para &amp; " = " &amp; ParaValue<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function UpdateIntByStr(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As Integer, ByVal Para As String, ByVal ParaValue As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = " &amp; DataFieldValue &amp; " WHERE " &amp; Para &amp; " = '" &amp; ParaValue &amp; "'"<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br /><br /><br />Function UpdateIntBySQL(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As Integer, ByVal ParaSQL As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = " &amp; DataFieldValue &amp; " WHERE " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br />Function UpdateStrBySQL(ByVal TableName As String, ByVal DataFieldName As String, ByVal DataFieldValue As String, ByVal ParaSQL As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; DataFieldName &amp; " = '" &amp; DataFieldValue &amp; "' WHERE " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function UpdateBySQL(ByVal TableName As String, ByVal SetSQL As String, ByVal ParaSQL As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "UPDATE " &amp; TableName &amp; " SET " &amp; SetSQL &amp; " WHERE " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteNonQuery<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetDataTableByFormat(ByVal vRecordNumber As Integer, ByVal ItemSQL As String, ByVal TableName As String, ByVal ParaSQL As String) As System.Data.DataTable<br /><br /><br /><br />Dim RecordNumber As String<br /><br />If vRecordNumber = 0 Then<br /><br />RecordNumber = ""<br /><br />Else<br /><br />RecordNumber = "TOP " &amp; vRecordNumber<br /><br />End If<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "SELECT " &amp; RecordNumber &amp; " " &amp; ItemSQL &amp; " FROM " &amp; TableName &amp; " where " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(sqlCommand)<br /><br />Dim dataSet As System.Data.DataSet = New System.Data.DataSet<br /><br />Try<br /><br />dataAdapter.Fill(dataSet)<br /><br />Return dataSet.Tables(0)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br />End Function<br /><br /><br /><br />Function GetDataTableBySQL(ByVal SuperSQL As String) As System.Data.DataTable<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(SuperSQL, sqlConnection)<br /><br /><br /><br />Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(sqlCommand)<br /><br />Dim dataSet As System.Data.DataSet = New System.Data.DataSet<br /><br />Try<br /><br />dataAdapter.Fill(dataSet)<br /><br />Return dataSet.Tables(0)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br />End Function<br /><br /><br /><br />Function GetMaxField(ByVal TableName As String, ByVal FieldName As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "SELECT MAX(" &amp; FieldName &amp; ") AS MaxField FROM " &amp; TableName<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), 0, sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetMinField(ByVal TableName As String, ByVal FieldName As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "SELECT Min(" &amp; FieldName &amp; ") AS MaxField FROM " &amp; TableName<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer = 0<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = IIf(IsDBNull(sqlCommand.ExecuteScalar), 0, sqlCommand.ExecuteScalar)<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetFieldCount(ByVal TableName As String, ByVal ParaSQL As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "SELECT COUNT(*) AS FieldCount FROM " &amp; TableName &amp; " where " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteScalar<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetFieldSumByInt(ByVal TableName As String, ByVal FieldName As String, ByVal ParaSQL As String) As Integer<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "SELECT isnull(sum(" &amp; FieldName &amp; "),0) AS CountNumber FROM " &amp; TableName &amp; " where " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Integer<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteScalar<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function GetFieldSumByDec(ByVal TableName As String, ByVal FieldName As String, ByVal ParaSQL As String) As Decimal<br /><br /><br /><br />Dim sqlConnection As New SqlClient.SqlConnection(GetConn)<br /><br /><br /><br />Dim queryString As String = "SELECT isnull(sum(" &amp; FieldName &amp; "),0) AS CountNumber FROM " &amp; TableName &amp; " where " &amp; ParaSQL<br /><br />Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)<br /><br /><br /><br />Dim rowsAffected As Decimal<br /><br />sqlConnection.Open()<br /><br />Try<br /><br />rowsAffected = sqlCommand.ExecuteScalar<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />Finally<br /><br />sqlConnection.Close()<br /><br />End Try<br /><br /><br /><br />Return rowsAffected<br /><br />End Function<br /><br /><br /><br />Function ChgFieldByLeftWord(ByVal TableName As String, ByVal FieldName As String, ByVal ParaWord As String, ByVal NewWord As String) As Integer<br /><br />Try<br /><br />Return UpdateBySQL(TableName, FieldName &amp; "='" &amp; NewWord &amp; "'+right(" &amp; FieldName &amp; ",len(" &amp; FieldName &amp; ")-" &amp; Len(ParaWord) &amp; ")", "Len(" &amp; FieldName &amp; ")&gt;=" &amp; Len(ParaWord) &amp; " and left(" &amp; FieldName &amp; "," &amp; Len(ParaWord) &amp; ")='" &amp; ParaWord &amp; "'")<br /><br />Catch ex As Exception<br /><br />Throw New NotSupportedException(ex.Message)<br /><br />End Try<br /><br />End Function<br /><br /><br /><br />'数据库连接串<br /><br />Private Function GetConn() As String<br /><br />Return "server=localhost;database=pubs;uid=sa;pwd="<br /><br />End Function<br /><br />End Module<br /><br /></font>
		</div>
<img src ="http://www.cnitblog.com/MTSIT/aggbug/19309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-19 10:46 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/19/19309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网上抄的ACCESS连接模块，未验证</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19308.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 19 Nov 2006 02:40:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19308.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19308.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/19/19308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19308.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19308.html</trackback:ping><description><![CDATA[Imports System<br />Imports System.Data<br />Imports System.Drawing<br />Imports System.Data.OleDb<br /><br />Module ConnToDB<br /><br />Public StartPath As String = Application.StartupPath &amp; "\LiberySystem"<br />Public Connstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;"<br />Public ConnectStr As String = Connstr &amp; "Data Source=" &amp; StartPath<br />Public DataAdapter As OleDbDataAdapter<br />Public DataConnection As OleDbConnection<br />Public DataSet As DataSet<br /><br />Public Function GetDataFromDB(ByVal sqlstr As String) As DataSet<br />Try<br />DataConnection = New OleDbConnection<br />DataConnection.ConnectionString = ConnectStr<br />DataAdapter = New OleDbDataAdapter(sqlstr, DataConnection)<br />DataSet = New DataSet<br />DataSet.Clear()<br />DataAdapter.Fill(DataSet)<br />DataConnection.Close()<br /><br />Catch<br />MsgBox(Err.Description)<br />End Try<br />If DataSet.Tables(0).Rows.Count &gt; 0 Then<br />Return DataSet<br />Else<br />Return Nothing<br />End If<br />End Function<br /><br />Public Function UpdateDataBase(ByVal sqlstr As String) As Boolean<br />Dim sqlconn As OleDbConnection<br />Try<br />Dim cmdTable As OleDbCommand = New OleDbCommand(sqlstr, sqlconn)<br />cmdTable.CommandType = CommandType.Text<br />sqlconn.Open()<br />cmdTable.ExecuteNonQuery()<br />sqlconn.Close()<br /><br />Catch<br />MessageBox.Show(Err.Description)<br /><br />End Try<br />Return True<br />End Function<br /><br />Public Class Dictionary<br />Public ISBN As String<br />Public FineBase As Double<br />Public FineMulti As Double<br />Public FineFactor As Double<br />End Class<br /><br />Public Structure OnceLends<br />Public ReadStyle As String<br />Public LendBooks As Integer<br />End Structure<br />Public Structure BorrowType<br />Public Type As String<br />Public Days As Integer<br />End Structure<br /><br /><br />End Module<img src ="http://www.cnitblog.com/MTSIT/aggbug/19308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-19 10:40 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/19/19308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单手工连接数据库</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/12/19104.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 12 Nov 2006 13:16:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/12/19104.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19104.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/12/19104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19104.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19104.html</trackback:ping><description><![CDATA[
		<p>
				<font style="BACKGROUND-COLOR: #ffa500">Imports System.Data.OleDb</font>
		</p>
		<p>Public Class Form1</p>
		<p>    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />        DSLIST11.Clear()</p>
		<p>        OleDbDataAdapter1.Fill(DSLIST11, "通信录1")</p>
		<p>
				<br />    End Sub</p>
		<p>    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />        Me.BindingContext(DSLIST11, "通信录1").Position -= 1<br />        showp()<br />    End Sub</p>
		<p>    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />        Me.BindingContext(DSLIST11, "通信录1").Position += 1<br />        showp()<br />    End Sub</p>
		<p>    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load</p>
		<p>        Dim myconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=d:\mydoc\Visual Studio 2005\Projects\PRJ_dbCONN\PRJ_dbCONN\test1.mdb;"<br /><br />        OleDbConnection1 = New OleDb.OleDbConnection(myconn) <font style="BACKGROUND-COLOR: #ff0000">'¹</font><br /><br />        OleDbDataAdapter1 = New OleDbDataAdapter("select 分类1,id from 通信录1", OleDbConnection1)<font style="BACKGROUND-COLOR: #ff0000"> '2</font><br /><br />        OleDbDataAdapter1.Fill(DSLIST11, "通信录1")<font style="BACKGROUND-COLOR: #ff0000"> '3</font><br /><br />        DataGridView1.DataSource = DSLIST11.Tables(0) <font style="BACKGROUND-COLOR: #ff0000">'4</font></p>
		<p> </p>
		<p>
				<br />        </p>
		<p> </p>
		<p>        'TextBox2.Text = Me.Name</p>
		<p> </p>
		<p> </p>
		<p>
				<br />    End Sub<br />    Private Sub showp()<br />        Dim iCnt As Integer<br />        Dim iPos As Integer<br />        iCnt = Me.BindingContext(DSLIST11, "通信录1").Count<br />        If iCnt = 0 Then<br />            TextBox2.Text = "(No records)"<br />        Else<br />            iPos = Me.BindingContext(DSLIST11, "通信录1").Position + 1<br />            TextBox2.Text = iPos.ToString &amp; " of " &amp; iCnt.ToString<br />        End If</p>
		<p>    End Sub</p>
		<p>    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />        OleDbDataAdapter1.SelectCommand = New OleDb.OleDbCommand("select top 5 * from 通信录1", OleDbConnection1)<br />        DSLIST11.Clear()<br />        OleDbDataAdapter1.Fill(DSLIST11, "通信录1")<br />    End Sub</p>
		<p>    Private Sub OleDbConnection1_InfoMessage(ByVal sender As System.Object, ByVal e As System.Data.OleDb.OleDbInfoMessageEventArgs) Handles OleDbConnection1.InfoMessage</p>
		<p>    End Sub<br />End Class<br /></p>
<img src ="http://www.cnitblog.com/MTSIT/aggbug/19104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-12 21:16 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/12/19104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Fill: SelectCommand.Connection 属性尚未初始化</title><link>http://www.cnitblog.com/MTSIT/archive/2006/11/12/19094.html</link><dc:creator>MT'S BLOG</dc:creator><author>MT'S BLOG</author><pubDate>Sun, 12 Nov 2006 07:33:00 GMT</pubDate><guid>http://www.cnitblog.com/MTSIT/archive/2006/11/12/19094.html</guid><wfw:comment>http://www.cnitblog.com/MTSIT/comments/19094.html</wfw:comment><comments>http://www.cnitblog.com/MTSIT/archive/2006/11/12/19094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/MTSIT/comments/commentRss/19094.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/MTSIT/services/trackbacks/19094.html</trackback:ping><description><![CDATA[
		<font size="1">Public Class Form1<br />    Inherits System.Windows.Forms.Form<br />    'Dim myconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\work\gdC\test.mdb;"<br />    'Dim ADC As OleDb.OleDbConnection = New OleDb.OleDbConnection(myconn)</font>
		<p>
				<font size="1">    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />        DslisT11.Clear()<br />        <strong><font style="BACKGROUND-COLOR: #ffa500">OleDbDataAdapter1.Fill(DslisT11, "通信录") 'ERROR --&gt;Fill: SelectCommand.Connection 属性尚未初始化</font></strong></font>
		</p>
		<p>
				<font size="1">    End Sub</font>
		</p>
		<p>
				<font size="1">    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />        Me.BindingContext(DslisT11, "通信录").Position -= 1<br />        showp()<br />    End Sub</font>
		</p>
		<p>
				<font size="1">    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />        Me.BindingContext(DslisT11, "通信录").Position += 1<br />        showp()<br />    End Sub</font>
		</p>
		<p>
				<font size="1">    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />        TextBox2.Text = Me.Name</font>
		</p>
		<p>
				<font size="1">    End Sub<br />    Private Sub showp()<br />        Dim iCnt As Integer<br />        Dim iPos As Integer<br />        iCnt = Me.BindingContext(DslisT11, "通信录").Count<br />        If iCnt = 0 Then<br />            TextBox2.Text = "(No records)"<br />        Else<br />            iPos = Me.BindingContext(DslisT11, "通信录").Position + 1<br />            TextBox2.Text = iPos.ToString &amp; " of " &amp; iCnt.ToString<br />        End If</font>
		</p>
		<p>
				<font size="1">    End Sub</font>
		</p>
		<p>
				<font size="1">    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />        OleDbDataAdapter1.SelectCommand = New OleDb.OleDbCommand("select top 5 * from 通信录", OleDbConnection1)<br />        DslisT11.Clear()<br />        OleDbDataAdapter1.Fill(DslisT11, "通信录")<br />    End Sub<br />End Class</font>
		</p>
		<strong>
				<font style="BACKGROUND-COLOR: #ff1493" face="Arial">HOW TO</font>
				<br />
		</strong>
		<font size="1">refer to</font>
		<a href="http://doc.readmen.com/1/141059.shtml">http://doc.readmen.com/1/141059.shtml</a> as the follow<br /><p class="MsoNormal" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; TEXT-INDENT: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; mso-char-indent-count: 2.0; mso-char-indent-size: 9.0pt" align="left"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-font-kerning: 0pt">Dim mySelectText As String = "SELECT CustomerID, CompanyName FROM CUSTOMERS"<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></p><p class="MsoNormal" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; TEXT-INDENT: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; mso-char-indent-count: 2.0; mso-char-indent-size: 9.0pt" align="left"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-font-kerning: 0pt">Dim myConnString As String = "Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"<o:p></o:p></span></p><p class="MsoNormal" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; TEXT-INDENT: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; mso-char-indent-count: 2.0; mso-char-indent-size: 9.0pt" align="left"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-font-kerning: 0pt">Dim custDA As OleDbDataAdapter =<span style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"> New OleDbDataAdapter(mySelectText, myConnString)<br /><br /><font style="BACKGROUND-COLOR: #ff1493" size="3"><strong>Solution:</strong></font><font style="BACKGROUND-COLOR: #7fffd4"> <font size="4">add the command string for OleDbDataAdapter1</font><br /></font><br /> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />        TextBox2.Text = Me.Name<br />        OleDbDataAdapter1 = New OleDb.OleDbDataAdapter("select * from 通信录", OleDbConnection1)<br />    End Sub</span><o:p></o:p></span><br /><br />[FINISH]</p><img src ="http://www.cnitblog.com/MTSIT/aggbug/19094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/MTSIT/" target="_blank">MT'S BLOG</a> 2006-11-12 15:33 <a href="http://www.cnitblog.com/MTSIT/archive/2006/11/12/19094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>