SQL数据库学习之路(练习)---C#登录界面连数据库
发布日期:2021-06-30 16:33:55 浏览次数:2 分类:技术文章

本文共 3619 字,大约阅读时间需要 12 分钟。

目录


C#登录界面连数据库

一、在数据库中先创建一个数据库。

数据库命名为NamePwd,使用SQL语言创建两个表,一个表命名为name,另一个表命名为pwd。在两个表中都只创建一个列。

create table [namepwd](    Name varchar(16),    pwd varchar(16))

运行成功后显示效果为:

二、在VS中创建C#的windows窗体应用程序

三、在VS中连接到数据库

点击服务器资源管理器,右键选择数据连接,点击添加连接。(也可以在工具中选择连接数据库)。

 

输入数据库的名,在选择或输入数据库名称中选择刚刚创建好的NamePwd数据库。测试连接成功后,点击确定。

四、设计登录界面

选择工具箱窗口,组成界面form1。

五、设置注册界面

选择解决方案资源管理器,右键项目--添加--Windows窗体。创建第二个窗体form2.

通过工具箱对form2进行布局。

六、将form1的按钮和form2进行关联

双击form1的注册按钮,注册按钮代码如下:

 private void button2_Click(object sender, EventArgs e)        {            using (Form2 dlg = new Form2()) //caozuo是窗口类名,确保访问;后面的是构造函数            {                dlg.ShowDialog();            }        }

在运行之后,点击注册按钮可以弹出form2界面。

七、设置form2界面的注册按钮

form2注册按钮代码:

private void button1_Click(object sender, EventArgs e)        {            string connectionStr = "Data Source=DESKTOP-785QN2F;Initial Catalog=NamePwd;Persist Security Info=True;User ID=sa;Password=123456dyy";            //创建连接对象            SqlConnection myConnection = new SqlConnection(connectionStr);                //测试是否连接成功                         string username = textBox1.Text; //获取用户名                 string password = textBox2.Text; //获取密码                string myinsert = "insert into namepwd values('"+username+"','"+password+"')";                SqlCommand mycom = new SqlCommand(myinsert, myConnection);       //定义对象并连接数据库                myConnection.Open();//打开数据库                mycom.ExecuteNonQuery();                           //执行插入语句                myConnection.Close();                //关闭对象并释放所占内存空间                    //  myConnection.Dispose();                MessageBox.Show("注册成功,请前往登录界面登录!");              //  Test f2 = new Test();              //  this.Close();              //  f2.Show();                               }

注意: string connectionStr = "Data Source=*******;Initial Catalog=NamePwd;Persist Security Info=True;User ID=sa;Password=****";中的data source=数据库名称,password为SQL登录密码

八、form1的登录按钮设置

按钮代码如下:

private void button1_Click(object sender, EventArgs e)        {            string name = textBox1.Text;            string pwd = textBox2.Text;            if (name.Equals("") || pwd.Equals(""))//用户名或密码为空            {                MessageBox.Show("用户名或密码不能为空");            }            else  //到数据库中验证            {                string str = "Data Source=DESKTOP-785QN2F;Initial Catalog=NamePwd;Persist Security Info=True;User ID=sa;Password=123456dyy";                               string selectSql = "select count(*) from namepwd where Name='"+name+"' and pwd='"+pwd+"'";                               SqlConnection con = new SqlConnection(str); //创建连接对象                 SqlCommand mycom = new SqlCommand(selectSql, con);       //定义对象并连接数据库                SqlCommand cmd = new SqlCommand(selectSql,con);//定义对象并连接数据库                cmd.CommandType = CommandType.Text;                con.Open(); //打开连接                 Console.WriteLine("数据库打开");    //正常打印说明没问题,否则会抛出异常             //   SqlDataReader sqlDataReader = mycom.ExecuteReader();                                               if (Convert.ToInt64(cmd.ExecuteScalar())>0)//满足用户名与密码一致,进入下一个界面                  {                      MessageBox.Show("登录成功!");                  }                  else                  {                      MessageBox.Show("登录失败!\n"+"用户名或密码错误!");                  }                con.Close(); //关闭连接                            }        }

注意: string str = "Data Source=*******;Initial Catalog=NamePwd;Persist Security Info=True;User ID=sa;Password=****";中的data source=数据库名称,password为SQL登录密码

九、运行成果

点击运行,点击form1的注册界面。

可以在SQL数据中查询刚刚注册的用户信息。

select *from name

select *from pwd

 

参考文章:

转载地址:https://kongchengji.blog.csdn.net/article/details/84071510 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JavaScript学习(十一)--数值处理对象
下一篇:JavaScript学习(十)——String对象方法

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月20日 08时06分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

mac || Linux 命令行下实现批量重命名 2019-04-30
java常用类 String面试题 2019-04-30
Windows10下的powershell美化教程 2019-04-30
利用ffmpeg合并音频和视频 2019-04-30
刷好老毛子系统进不了老毛子系统后台的解决办法 2019-04-30
Parallels Desktop 16 不能联网的解决办法 2019-04-30
ERROR 1292 (22007): Incorrect datetime value: ‘2002‘ for column ‘出版日期‘ at row 1 2019-04-30
SLAM中TUM数据集更改图片名字 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第1章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第2章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第3章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第4章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第5章 2019-04-30
synchronized和CAS锁的区别【图文教程】 2019-04-30
【java】属性别名:@JsonProperty和@JSONField的区别?【图文教程】 2019-04-30
配置nginx只允许域名访问,禁止ip访问【图文教程】 2019-04-30
Java代理【图文教程】_第1章_静态代理 2019-04-30
Java代理【图文教程】_第2章_jdk动态代理 2019-04-30
AOP面向切面编程【图文教程】_第1章 2019-04-30
AOP面向切面编程【图文教程】_第2章 2019-04-30