请看代码 这是在asp.net 的 C# 代码 目的是为了验证 数据库是否存在已经有的用户名
但我在数据库中录入一条记录后 在网页中验证 还是显示“用户名未被使用”protected void TextBox_Username_TextChanged(object sender, EventArgs e)
{
try
{
TextBox_Username.Text = TextBox_Username.Text.Trim();
Label_SameUsername.Visible = true;
if (TextBox_Username.Text != "")
{
String Sqlstr = null;
Sqlstr = "SELECT DISTINCT * FROM Account WHERE ACalled=" +
"'" + TextBox_Username.Text + "'" +
";";
/*Sqlstr = "SELECT Aid FROM Account WHERE ACalled=" +
"'"+ TextBox_Username.Text + "'" +
";";*/
if (CheckSameValue(Sqlstr))
{
Label_SameUsername.Text = "* 用户名已被使用";
Label_SameUsername.ForeColor = System.Drawing.Color.Red;
}
else
{
Label_SameUsername.Text = "用户名可以使用";
Label_SameUsername.ForeColor = System.Drawing.Color.Green;
}
}
else
{
Label_SameUsername.Text = "* 用户名不能为空";
Label_SameUsername.ForeColor = System.Drawing.Color.Red;
}
}
catch (System.Exception ex)
{
ErrorMSG.Visible = true;
Label_ErrorMSG.Text = ex.Message;
}
}
private bool CheckSameValue(String Sqlstr)
{
try
{
CntStr = ConfigurationManager.AppSettings["AccessDrv"] +
HttpContext.Current.Server.MapPath("..\\") +
ConfigurationManager.AppSettings["Database"];
Cnt = new OleDbConnection(CntStr);
Cnt.Open();
Cmd = Cnt.CreateCommand();
Cmd.CommandText = Sqlstr;
if (Cmd.ExecuteNonQuery() >= 1)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
throw (ex);
}
finally
{
Cnt.Close();
}
}/******web.config*******/
<add key="AccessDrv" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source="/>
<add key="Database" value="App_Data\Database.mdb"/>
/******web.config*******/
我调试了一下看 似乎是 Cmd.ExecuteNonQuery() 这里返回0
但我用SQL执行 的确能查找到一条记录
坐等高手
但我在数据库中录入一条记录后 在网页中验证 还是显示“用户名未被使用”protected void TextBox_Username_TextChanged(object sender, EventArgs e)
{
try
{
TextBox_Username.Text = TextBox_Username.Text.Trim();
Label_SameUsername.Visible = true;
if (TextBox_Username.Text != "")
{
String Sqlstr = null;
Sqlstr = "SELECT DISTINCT * FROM Account WHERE ACalled=" +
"'" + TextBox_Username.Text + "'" +
";";
/*Sqlstr = "SELECT Aid FROM Account WHERE ACalled=" +
"'"+ TextBox_Username.Text + "'" +
";";*/
if (CheckSameValue(Sqlstr))
{
Label_SameUsername.Text = "* 用户名已被使用";
Label_SameUsername.ForeColor = System.Drawing.Color.Red;
}
else
{
Label_SameUsername.Text = "用户名可以使用";
Label_SameUsername.ForeColor = System.Drawing.Color.Green;
}
}
else
{
Label_SameUsername.Text = "* 用户名不能为空";
Label_SameUsername.ForeColor = System.Drawing.Color.Red;
}
}
catch (System.Exception ex)
{
ErrorMSG.Visible = true;
Label_ErrorMSG.Text = ex.Message;
}
}
private bool CheckSameValue(String Sqlstr)
{
try
{
CntStr = ConfigurationManager.AppSettings["AccessDrv"] +
HttpContext.Current.Server.MapPath("..\\") +
ConfigurationManager.AppSettings["Database"];
Cnt = new OleDbConnection(CntStr);
Cnt.Open();
Cmd = Cnt.CreateCommand();
Cmd.CommandText = Sqlstr;
if (Cmd.ExecuteNonQuery() >= 1)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
throw (ex);
}
finally
{
Cnt.Close();
}
}/******web.config*******/
<add key="AccessDrv" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source="/>
<add key="Database" value="App_Data\Database.mdb"/>
/******web.config*******/
我调试了一下看 似乎是 Cmd.ExecuteNonQuery() 这里返回0
但我用SQL执行 的确能查找到一条记录
坐等高手
解决方案 »
- 水晶报表如何固定加一页或如何将多张水晶报表整合成一张
- 高分求解,类似于迅雷看看网页播放器播放记录功能,分不够可以加钱!
- provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错
- 创建关系表出错:表TC_LeaveWord 中的列与现存的主键或UNIQUE约束不匹配.请高手解决
- 能否不通过gridview之类的显示控件 来绑定数据库内容
- 如何禁用html语法检查?
- 如何使LISTBOX绑定多列数据并且可以一次获得多行数据的值(ASP.NET-C#)
- ~~~帮忙看看,datagrid中更新数据时的一个小问题。
- DropDownList绑定多个值的问题!高人帮忙!!!!
- 急!!没法运行asp.net!!!
- 高手请进,在线急等【。。。。。。。。。。。】
- 初学.NET~那个大侠来帮帮忙~?
而select 查询的话,返回-1