正文

(翻译)在Access2000使用存储过程进行参数查询(ASP.NET)2007-10-13 15:07:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/goalbell/30057.html

分享到:

不像SQLSERVER存储过程,Access2000参数查询不支持多操作或者输出参数。 现在将作者的设计思路列出来: 数据库存储过程设计(Access2000) 插入查询: PARAMETERS text1 Text ( 50 ), long1 Long, date1 DateTime;INSERT INTO datatable ( textfield, numberfield, datefield )VALUES (text1, long1, date1); 选择查询: SELECT *FROM datatable; 更新查询: PARAMETERS text1 Text ( 50 ), long1 Long, date1 DateTime, longId Long;UPDATE datatable SET datatable.textfield = text1, datatable.numberfield = long1, datatable.datefield = date1WHERE (((datatable.id)=[longId])); 删除查询: PARAMETERS longId Long;DELETE *FROM datatableWHERE (((datatable.id)=[longId])); 例子代码实现过程(C#): <%@ Page Language="C#" debug="true" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.OleDb" %><script runat="server">     void Button1_Click(object sender, EventArgs e) {        Label1.Text = "";        OleDbConnection myConnection = new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"]);        OleDbCommand myCommand = new OleDbCommand("InsertQuery", myConnection);        myCommand.CommandType = CommandType.StoredProcedure;        OleDbParameter parametertext = new OleDbParameter("text1", OleDbType.VarChar, 50);        parametertext.Value = TextBox2.Text;        myCommand.Parameters.Add(parametertext);        OleDbParameter parameternumber = new OleDbParameter("long1", OleDbType.Integer);        parameternumber.Value = Convert.ToInt32(TextBox3.Text);        myCommand.Parameters.Add(parameternumber);        OleDbParameter parameterdate = new OleDbParameter("date1", OleDbType.Date);        parameterdate.Value = TextBox4.Text;        myCommand.Parameters.Add(parameterdate);        try{            myConnection.Open();            myCommand.ExecuteNonQuery();            Label1.Text = "Success";        }        catch{            Label1.Text = "Insert Failed";        }        finally{            myConnection.Close();        }    }        void Button2_Click(object sender, EventArgs e) {        Label1.Text = "";        OleDbConnection myConnection = new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"]);        OleDbCommand myCommand = new OleDbCommand("UpdateQuery", myConnection);        myCommand.CommandType = CommandType.StoredProcedure;        OleDbParameter parametertext = new OleDbParameter("text1", OleDbType.VarChar, 50);        parametertext.Value = TextBox2.Text;        myCommand.Parameters.Add(parametertext);        OleDbParameter parameternumber = new OleDbParameter("long1", OleDbType.Integer);        parameternumber.Value = Convert.ToInt32(TextBox3.Text);        myCommand.Parameters.Add(parameternumber);        OleDbParameter parameterdate = new OleDbParameter("date1", OleDbType.Date);        parameterdate.Value = TextBox4.Text;        myCommand.Parameters.Add(parameterdate);        OleDbParameter parameterid = new OleDbParameter("longId", OleDbType.Integer);        parameterid.Value = Convert.ToInt32(TextBox1.Text);        myCommand.Parameters.Add(parameterid);        try{            myConnection.Open();            myCommand.ExecuteNonQuery();            Label1.Text = "Success";        }        catch{            Label1.Text = "Update Failed";        }        finally{            myConnection.Close();        }    }        void Button3_Click(object sender, EventArgs e) {        Label1.Text = "";        OleDbConnection myConnection = new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"]);        OleDbCommand myCommand = new OleDbCommand("DeleteQuery", myConnection);        myCommand.CommandType = CommandType.StoredProcedure;        OleDbParameter parameterid = new OleDbParameter("@longId", OleDbType.Integer);        parameterid.Value = Convert.ToInt32(TextBox1.Text);        myCommand.Parameters.Add(parameterid);        try{            myConnection.Open();            myCommand.ExecuteNonQuery();            Label1.Text = "Success";        }        catch{            Label1.Text = "Delete Failed";        }        finally{            myConnection.Close();        }    }        void Button4_Click(object sender, EventArgs e) {        Label1.Text = "";        OleDbConnection myConnection = new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"]);        OleDbCommand myCommand = new OleDbCommand("SelectQuery", myConnection);        myCommand.CommandType = CommandType.StoredProcedure;        try{            myConnection.Open();            DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);            DataGrid1.DataBind();        }        catch{            Label1.Text = "Select Failed";        }        finally{            myConnection.Close();        }    } </script><html><head></head><body style="FONT-FAMILY: Arial, Trebuchet MS">    <form runat="server">        <table cellspacing="0" cellpadding="4">            <tbody>                <tr>                    <td align="middle" colspan="2">                        <h2>Access Stored Procedure                             <br />                            (Parameter Query)                        </h2>                    </td>                </tr>                <tr>                    <td align="right">                        Id</td>                    <td>                        <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>                    </td>                </tr>                <tr>                    <td align="right">                        Text                     </td>                    <td>                        <asp:TextBox id="TextBox2" runat="server"></asp:TextBox>                    </td>                </tr>                <tr>                    <td align="right">                        Number</td>                    <td>                        <asp:TextBox id="TextBox3" runat="server"></asp:TextBox>                    </td>                </tr>                <tr>                    <td align="right">                        Date</td>                    <td>                        <asp:TextBox id="TextBox4" runat="server"></asp:TextBox>                    </td>                </tr>                <tr>                    <td align="middle" colspan="2">                        <asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Insert"></asp:Button>                        &nbsp;                         <asp:Button id="Button2" onclick="Button2_Click" runat="server" Text="Update"></asp:Button>                        &nbsp;                         <asp:Button id="Button3" onclick="Button3_Click" runat="server" Text="Delete"></asp:Button>                        &nbsp;                         <asp:Button id="Button4" onclick="Button4_Click" runat="server" Text="Select"></asp:Button>                    </td>                </tr>                <tr>                    <td colspan="2">                        <asp:Label id="Label1" runat="server" forecolor="Red"></asp:Label></td>                </tr>                <tr>                    <td align="middle" colspan="2">                        <asp:datagrid id="DataGrid1" runat="server" ForeColor="Black" EnableViewState="False"                         BackColor="White" CellPadding="3" GridLines="None" CellSpacing="1">                            <HeaderStyle font-bold="True" forecolor="white" backcolor="#4A3C8C"></HeaderStyle>                            <ItemStyle backcolor="#DEDFDE"></ItemStyle>                        </asp:datagrid>                    </td>                </tr>            </tbody>        </table>    </form></body></html> P.S.更多讲解请参考:http://aspalliance.com/60_Access_2000_Stored_Procedures

阅读(3208) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册