日期:2014-05-17  浏览次数:20416 次

网站前台与数据库连接的问题
正在做一个预约板块,需要输入学号和密码,然后与数据库中的学生信息进行比对,如果存在这样的学号和密码,则登录到另一个页面中,然后在另一个页面中填写一个表单,然后提交,数据库进行存储。


using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Data.SqlClient;
using System.Configuration;


public partial class _Default : System.Web.UI.Page
{
  string strConstrin = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;,1,这一句话有什么作用??
  protected void Page_Load(object sender, EventArgs e)
  {
  2, 这里应该写些什么??
  }

  protected void Button1_Click(object sender, EventArgs e)
  {
  string number= this.TextBox1.Text;
  string passWord = this.TextBox2.Text;
  InsertData(name, number);

  }

  private void InsertData(string number, string passWord)
  {
  SqlConnection con = new SqlConnection(strConstrin);

  SqlCommand cmd = con.CreateCommand();
  cmd.CommandText = "INSERT INTO xinxi (number,passWord) VALUES (" + number + "," + passWord + ")";
  con.Open();
  cmd.ExecuteNonQuery();
  con.Close();

  Response.Write("<script>alert('登录成功!')</script>");

  }

  private void BindData()
  {
  SqlConnection con = new SqlConnection(strConstrin);

  string strCmdText = "SELECT * FROM xinxi";

  con.Open();

  SqlDataAdapter Adapter = new SqlDataAdapter(strCmdText, con);

  DataSet Ds = new DataSet();

  Adapter.Fill(Ds);
  3,这里应该怎样写

   
  con.Close();
   
  }
  希望大家可以帮助我一下,大家也可以重新帮我写一下,谢谢了

}

------解决方案--------------------
1.从web.congfig配置文件中获得连接数据库的字符串
2.当用户学院点击登录时,你需要做的就是根据用户输入的学号和密码来判断该学员登录是否有效
就是从库里查询 select * from xinxi where num=num and passWord =passWord 是否存在

登录成功便可将用户学院num存入Session,然后进入页面可以通过判断Session来判断学员是否已经正确登录

3.如果仅仅是展示的话,那么可以利用数据展示控件,比如GridView Reapter DataList等等

绑定数据源的代码就是
C# code
 gridView_dateSet.DataSource = Ds;  
            gridView_dateSet.DataBind();

------解决方案--------------------
看来你对ASP.NET几乎可以说不了解。
string strConstrin = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;,1,这一句话有什么作用??
这个是读取web.config中的数据库连接配置

protected void Page_Load(object sender, EventArgs e)
{
2, 这里应该写些什么??
}

你是登录页面的话 这里可以不写东西。

你的信息逻辑有问题, 你既然是要比对数据库中的用户名密码 就得去查询输入的用户名密码在数据库中是否有,你怎么会往数据库中插入一个 数据呢。

而且你插入数据的参数也写错了。
InsertData(name, number);
应该是InsertData(number, passWord); //另外你对这里的数据完整性没做任何判断。






------解决方案--------------------
多看多连的同时,搞清楚代码的意思和原理才是最重要的。
------解决方案--------------------
这样不是每次有操作都在当前代码里去连接数据库重复写那么多代码,写一个封装的dbhelp类。省多少事情。