我是一名刚毕业的大学生,现在从事网页编程的工作,编程过程中遇到了ASP.NET与SQL数据库连接的
问题.
比如一个最简单的用户登陆界面:用户名和密码都输入正确就跳转到下一界面,如两者不对就返回原界面.我建立的网页不管你输入的什么都能进入下一界面,个人认为是没有经过数据库.但源代码我是照书上写的,而且换了好几本书都一样.
请高手们写个连接的程序示范一下.
我电脑是XP,IIS等都装了,是不是在配置数据库方面有什么没做的所以网页不访问数据库?
问题.
比如一个最简单的用户登陆界面:用户名和密码都输入正确就跳转到下一界面,如两者不对就返回原界面.我建立的网页不管你输入的什么都能进入下一界面,个人认为是没有经过数据库.但源代码我是照书上写的,而且换了好几本书都一样.
请高手们写个连接的程序示范一下.
我电脑是XP,IIS等都装了,是不是在配置数据库方面有什么没做的所以网页不访问数据库?
SqlConnection Conn = new SqlConnection("server=(local);pwd=密码;uid=用户名;database=数据库;")
Conn.Open();
只连接这样就OK了;
try(写在按钮事件中)
{
SqlConnection mycon=new SqlConnection();
string mystr="server=localhost;uid=sa;pwd=;database=yourdatabase";
mycon.ConnectString=mystr;
mycon.open;
Response.Write("<script language='javascript'>alert('连接成功!')</script>");
}
catch
{
Response.Write("<script language='javascript'>alert('连接失败!')</script>");
}
代码适合asp.net+c#+sql
这个方法比较危险,可以通过输入选手特定的字符轻易攻破。建议使用存储过程:
public bool ValidateUser(string userID, string password)
{
bool result = false;
if(!Connect())
{
return result;
}
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "pp_validateuser";
cmd.Parameters.Add("@UserID", userID);
cmd.Parameters.Add("@Password", password);
SqlDataReader reader = cmd.ExecuteReader();
if(reader.HasRows)
{
result = true;
}
reader.Close();
Disconnect();
return result;
}
private bool Connect()
{
if(cnStr == "")
{
cnStr = "你的连接串";
}
try
{
cn = new SqlConnection(cnStr);
cn.Open();
}
catch
{
return false;
}
return true;
}