使用ODBC.NET ODBC.NET(全称ODBC .NET Data Provider)是一个免费的.NET Framework附加组件,需
要到微软公司的网站上去下载,下载地址为:http://download.microsoft.com/downloa
d/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msi,它需要系统已经安
装MDAC 2.7或者更高版本。另外,还需要安装MySQL的ODBC驱动程序,下载地址为:http
://www.mysql.com/downloads/api-myodbc-2.50.html,还需要在"ODBC数据源管理器"中
配置一下DSN,如下图所示:
在对象的设计上,ODBC.NET也跟OLEDB,SQL等一样,分别为OdbcConnection, 
OdbcCommand, OdbcDataAdapter, OdbcDataReader,用法也完全一样,如果你希望用ODBC
 .NET来代替以前的OleDb .NET Data Provider,事实上完全可以通过查找替换的办法来
修改你的程序。以下是一段代码示例:try
{
 string constr = "DSN=MySQL;" + "UID=;" +"PWD="; ;
 conn =  new OdbcConnection(constr);
 conn.Open();
 string query = "insert into test.dbtable values10,'disksidkfsdi', 
'asdfaf', 'adsfasdf')";
 string tmp = null;
 OdbcCommand cmd = new OdbcCommand(query, conn);
 for(int i = 0; i < 100000; i++)
 {
  cmd.ExecuteNonQuery();
 }
 cmd.Dispose();
 conn.Close();
 query = "select * from test.dbtable";
 OdbcCommand cmd2 = newOdbcCommand(query, conn);
 conn.Open();
 OdbcDataReader reader = cmd2.ExecuteReader();
 while(reader.Read())
 {
  tmp = reader[0].ToString();
  tmp = reader[1].ToString();
  tmp = reader[2].ToString();
  tmp = reader[3].ToString();
 }
 conn.Close();
 query = "delete from test.dbtable";
 OdbcCommand cmd3 = newOdbcCommand(query, conn);
 conn.Open();
 cmd3.ExecuteNonQuery();
 }
 catch(Exception ex)
 {
  MessageBox.Show(ex.Message);
 }
 finally
 {
 conn.Close();
}
只要是用C#写过数据库应用的人一定能知道,上面的代码执行了十万次插入数据和读取
数据,最后将数据记录全部删除的操作。

解决方案 »

  1.   

    SqlCommand cmd=new SqlCommand("usp_UpdateStudentInfo",conn);
    cmd.CommandType=CommandType.StoredProcedure; //add parameters
    cmd.Parameters.Add("@fStudentID",SqlDbType.Char);
    cmd.Parameters.Add("@fStudentNo",SqlDbType.Char);

    cmd.Parameters["@fStudentID"].Value=this.fStudentID.Trim();
    cmd.Parameters["@fStudentNo"].Value=this.fStudentNo.Trim();

    conn.Open();
    cmd.ExecuteNonQuery();
      

  2.   

    SqlParameter[] paras;
    paras= new SqlParameter[6];
    paras[0]=new SqlParameter("@Rep_Code", SqlDbType.VarChar, 20);        //报表代码
    paras[1]=new SqlParameter("@Account_Month", SqlDbType.VarChar, 10);        //帐务月
    paras[2]=new SqlParameter("@LocalNet_Code", SqlDbType.VarChar, 3);       //本地网编码
    paras[3]=new SqlParameter("@checked", SqlDbType.Int , 3);       //审核标志位
    paras[4]=new SqlParameter("@User_Id", SqlDbType.VarChar, 10);       //用户ID
    paras[5]=new SqlParameter("ReturnValue", SqlDbType.Int);     

    paras[0].Value=RepCode;
    paras[1].Value=AccountMonth;
    paras[2].Value =LocCode;
    paras[3].Value =Check;
    paras[4].Value =Userid;
    paras[5].Direction=ParameterDirection.ReturnValue;

    System.Data.SqlClient.SqlConnection Sqlcon=db.OpenDb();
    string strReturn=db.RunProc("Cus_RepGuideFast",paras);
    db.CloseData(Sqlcon);
    return strReturn;
      

  3.   

    一个ASP.NET的例子<%@ Page Language="C#" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.SqlClient" %>
    <script runat="server">    void Page_Load(object sender, EventArgs e) {
        
            // TODO: Update the ConnectionString for your application
            string ConnectionString = "server=(local);database=Northwind;trusted_connection=true";
        
            // TODO: Updatd the name of the Stored Procedure for your application
            string CommandText = "CustOrdersDetail";
        
            SqlConnection myConnection = new SqlConnection(ConnectionString);
            SqlCommand myCommand = new SqlCommand(CommandText, myConnection);
            SqlParameter workParam;
        
            myCommand.CommandType = CommandType.StoredProcedure;
        
            // TODO: Set the input parameter, if necessary, for your application
            myCommand.Parameters.Add("@OrderId", SqlDbType.Int).Value = 11077;
        
        
        
            myConnection.Open();
        
            DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
            DataGrid1.DataBind();
        }</script>
    <html>
    <head>
    </head>
    <body style="FONT-FAMILY: arial">
        <h2>Simple Stored Procedure 
        </h2>
        <hr size="1" />
        <form runat="server">
            <asp:datagrid id="DataGrid1" runat="server" CellSpacing="1" GridLines="None" CellPadding="3" BackColor="White" ForeColor="Black" EnableViewState="False">
                <HeaderStyle font-bold="True" forecolor="white" backcolor="#4A3C8C"></HeaderStyle>
                <ItemStyle backcolor="#DEDFDE"></ItemStyle>
            </asp:datagrid>
        </form>
    </body>
    </html>