新手编程,刚才也发了个类似的帖子。。后来回复各种看不懂,或者各种执行不了,这回当个伸手党,求各位大大给个有用的、简单点的代码回去研究学习下,谢谢:
主页面有两个textbox控件分别为UserName和PassWord,分别提供用户名和密码,后台sqlserver数据库中ATM库中有个UserID表,里面有相应的用户名ID和密码,为Uid和Pwd,请问后台代码怎么编写能够判断用户输入的用户名和密码合法,并且弹出窗口:“登录成功!”;反之弹出:“登录失败!”--多谢各位大大,希望给我的代码是可以执行的,我真的刚开始学习,如果代码出错执行不了我改都不知道怎么改。跪求黄金代码,再次感谢~~~~

解决方案 »

  1.   

    简单的流程就是你把UserName.text的值放到数据库里面查,是否有数据匹配,如果没有就说明不存在这个账户,如果有就把密码取回来,然后跟PassWord.text的值比较,如果一样就登陆成功,不一样就密码错误。
    数据库方面大概会用到sqlconnection,sqlcommand对象,其他自己尝试着去做更好
      

  2.   

    看到过很多求个 登录的 求个注册的你求代码  不如 自己先去看ADO.Net  看asp.Net  把基础理论搞好了 再看否则你还是雾里看花如果要代码 你去 51aspx.com 上面去下载,我们注册的、登录的、会员的都有
      

  3.   

    建议LZ去51aspx上去找找源码,慢慢来好了
      

  4.   

    ADO.net的设计流程和思路:第一步:创建数据库和数据库表
    在这个过程中,需要注意创建“主键”,检查约束,以及数据类型。因为本步骤的所有的操作,都直接决定你以后的c#的设计是否能够顺利完成。

    第二步:决定前台的窗体是什么样子
    在这个步骤的过程中,需要注意需求,是用listView还是dataGridView。

    第三步:填写后台的代码:
    在这个步骤的过程中,需要根据上一步骤的窗体的设定是什么,来决定后台的代码怎么写。


    listView:

    1、using System.Data.sqlClient;引入sql的namespace。

    2、建立连接字符串,事实上这是一个定位,定义连接的是那个服务器上的哪个数据库,以及连接的安全性什么。
    string connectionString ="";(字符串通过vs的视窗窗口的服务器资源,然后测试,然后从“高级”中获取)

    3、通过刚才的连接字符串,建立sql连接。
    sqlconnection connection = new sqlconnection(connectionString);

    4、打开sql连接:
    connection.open();

    5、通过字符串,存放要对数据库操作的sql语句:
    对数据库的操作有且仅有4种操作:增加、删除、修改、查询。
    针对这四种操作,我们需要定义不同的sql操作字符串,来满足不同的操作。
    变量1=textbox.text;
    变量2=rextbox.text;
    string sqlAdd = string.format("insert into 表名(字段名1,字段名2)values (‘{0}’,‘{1}’)",变量1,变量2);

    string sqlDel = string.format("delete from 表名 where 字段名1 = ‘{0}’",变量1);

    string sqlUpdate = string.format("update 表名(字段1,字段2)set 值1,值2 where 字段n =‘{0}’",变量1);

    string sqlSelect = string.format("select 字段1,字段2 from 表名 where 字段n = ‘{0}’",变量1);

    前三项,因为对数据库中的数据产生影响,因此,需要使用的是command的executeNonQuary();
    语法为:
    //实现插入功能
    sqlcommand com = new sqlcommand(sqlAdd,connection);
    com.executeNonQuary();

    //实现修改功能
    sqlcommand com = new sqlcommand(sqlUpdate,connection);
    com.executeNonQuary();

    //实现删除功能
    sqlcommand com = new sqlcommand(sqlDel,connection);
    com.executeNonQuary();

    //功能的不同取决于sql字符串的不同。

    最后一项,因为是从数据库取出数据,显示到前台,因此,需要使用的是一个比较特殊的对象,叫做dataReader。
    dataReader是基于sqlcommand的基础上产生的,是executeReader()的产物。

    //实现查询功能
    sqlcommand com = new sqlcommand(sqlselect,connection);

    //注意datareader是怎样产生的,没有new关键字
    sqldatareader datareader = com.executeReader();

    //注意,由于datareader一次是读入一条记录,并且是对应着数据库中的每个字段,
    //因此,当我们需要把数据库的内容显示到listView中的时候,需要,逐条的,逐字段的送交listView显示。
    //在这里,我们使用while循环对数据库的条数进行控制,保证从第一条读到最后一条
    //我们使用datareader数组,对字段进行控制。先把数据库对象的值转换成c#能识别的数据类型,然后送交给变量
    string name;
    int age;

    while(datareader.reader())//对记录的控制
    {
    name = datareader["name"].toString();
    age = (int)datareader["age"];

    //然后,我们需要把变量的内容添加到listView当中去
    //由于,listView的存储机制是存放一个目录项,在目录项中,存放子项。
    //所以,我们需要先生成目录项,每一条记录对应一个目录项。

    //我认为,name和age字段相比,name字段更重要,因此,我把name字段作为主项
    listViewItems information = new listViewItems("name");
    //tag是用来存放有用的,但是不想让用户看到的东西。如:种子(作用等同于dataGridView中隐藏的主键)
    information.Tag = (int)datareader["id"];

    //然后我把生成的listView的目录项添加到listView中去(许多同学会忘记这一步)
    listView1.Items.Add(information);

    //然后把其他项作为子项,添加到主项里
    information.SubItems.AddRange(new string[]{age.toString()});

    }
    //注意datareader是需要关闭的。
    datareader.close();

    //注意connection也是要关闭的
    connection.close();




    dataGridView:
    相对于listView,就显得简单了好多。因为可以在显示网格上直接进行修改,统一使用bulder封装,使用update方法实现增,删,改。

    1、using System.Data.sqlClient;引入sql的namespace。
    //在类里面建立全局变量
    dataset ds = new dataset();
    sqldataadapter adapter;


    2、建立连接字符串,事实上这是一个定位,定义连接的是那个服务器上的哪个数据库,以及连接的安全性什么。
    string connectionString ="";(字符串通过vs的视窗窗口的服务器资源,然后测试,然后从“高级”中获取)

    3、通过刚才的连接字符串,建立sql连接。
    sqlconnection connection = new sqlconnection(connectionString);

    4、在connection的基础上,同时也要建立一个sql字符串。
    这个字符串就没有之前listView那么复杂,只需要建立一个查询字符串就可以了。但是必须把主键项查询出来。
    string sqlselect ="slect * from table";

    5、生成dataadapter:
    adapter = new sqldataadapter(sqlselect,connection);

    6、使用这个adapter 将数据库中的数据填充到dataset中,生成一个表,在填充的同时,给这个表起一个名字
    adapter.fill(ds,"output");

    7、指定前台的dataGridView的显示内容为dataset中的output表
    dataGridView1.datasource = ds.table["output"];

    8、当需要对表中的记录进行改动(包括增、删、改),需要先使用sqlcommandbuilder生成,然后使用update()进行重写入

    sqlcommandbuilder builder = new sqlcommandbuilder(adapter);
    adapter.update(ds,"output");



    总结:
    使用ADO.NET访问数据库有点像盖房子,一步出错,房子就盖不起来,或者说,房子就会成为豆腐渣工程。
    1、运来建筑材料,征地。(using System.Data.sqlclient;)
    2、打地基。(建立数据库连接字符串,这个通常是不会后期修改的,一旦确定,会用到最后,和后面的数据库操作字符串不一样的)
    3、盖1层,在地基的基础上。(在数据库连接字符串的基础上建立数据库连接)
    4、盖2层,在1层的基础上。(打开连接)
    5、盖3层,在2层的基础上。(注意我们要使用数据库操作字符串和数据库连接一起生成相应的command或者dataadapter)
    注意:我们的sql操作字符串是可以定制的,根据用户的输入,决定sql语句的条件,通常用于查询。
    6、盖4层,(前台或者中间层对后台进行的使用)
    7、楼层封顶。(关闭连接)