很抱歉在ASP.net上发布了这么多nubbin问题,我慢慢得到了它.
我在我的页面上执行查询(工作):
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
// When the registration form is submitted
protected void regSubmit(object sender, EventArgs e)
{
// No erros so far
Boolean anyError = false;
string errorMessages = "";
// Take all form values
string username = txtUsername.Text;
string password1 = txtPassword1.Text;
string password2 = txtPassword2.Text;
string emailAdd = txtEmail.Text;
// Verify that username is unique
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyDbConn"].ToString()))
{
SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM tblUsers WHERE username = '" + username + "'", cn);
cn.Open();
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
rdr.Read();
int result = int.Parse(rdr[0].ToString()); //read a value
}
statusLabel.Text = username;
}
</script>
Run Code Online (Sandbox Code Playgroud)
我的问题是,这是最好的做法,我是否必须为我运行的每个查询都有一个"使用"块和内部结构,或者有更简单的方法吗?此外,我是否需要关闭任何东西或垃圾人照顾它?
在经典ASP我会有一个
adoCon.execute("DELETE FROM TABLE")
Run Code Online (Sandbox Code Playgroud)
或者a
rsCommon.open("SELECT * FROM TABLE"), adoCon
do until rsCommon.EOF
rscommon.movenext
loop
rsCommon.close
Run Code Online (Sandbox Code Playgroud)
发现目标!感谢您的任何帮助!这对我来说似乎更简单直观.
汤姆,
你在这里发现了一些不好的东西(抱歉这么直率).我会看看以下内容:
此外,Boolean anyError = false;永远不会使用,但我假设这是以后使用.
从好的方面来说,使用块的想法是好的,所以保持这一点.您可以在线查找参考资料,以帮助解耦逻辑和参数化查询.
顺其自然
吉姆
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |