c#程序连接sql server数据库

╰半夏微凉° 2022-05-23 11:26 420阅读 0赞

先操作后讲解个人理解方式

一、数据库内容:

假设sql server身份验证:账户:sa;密码:123456

数据库名:StudentStatusDB

表名:tbUserInfo

表内容:字段信息(UserId =>int ; UserName=>nvarchar(50) ; UserPassword=>nvarchar(50))

20180607201354540

二、c#连接数据库连接代码

c#连接sql server需引入
using System.Data;
using System.Data.SqlClient;

  1. #region 获取前端文本框输入的账户和密码(这里用到的是asp.net网站的web窗体)
  2. string name = txtName.Text.Trim();
  3. string pwd = txtPassword.Text.Trim();
  4. #endregion
  5. #region 1.用代码连接数据库
  6. //第一种连接,sql server的Windows身份验证
  7. //string ConStr = "server=.;database=StudentStatusDB;Trusted_Connection=SSPI";
  8. //第二种连接,sql server身份验证
  9. string ConStr = "server=.;database=StudentStatusDB;uid=sa;pwd=123456";
  10. SqlConnection conn = new SqlConnection(ConStr);
  11. conn.Open();
  12. #endregion
  13. #region 2.用代码执行sql字符串
  14. #region 第一种sql语句创建
  15. //第一种方法
  16. //sql注入当输入框账户输入1' or 1=1 or Username='2 密码框输入1' or 1=1 or Username='2也能成功登陆
  17. //string sql = "select count(*) from tbUserInfo where UserName='" + name + "' and UserPassword='" + pwd + "'";
  18. #endregion
  19. #region 第二种sql语句创建
  20. //第二种方法
  21. string sql = "select count(*) from tbUserInfo where UserName=@name and UserPassword=@pwd";
  22. SqlParameter[] parameters = {
  23. new SqlParameter("@name", SqlDbType.NVarChar, 50),
  24. new SqlParameter("@pwd", SqlDbType.NVarChar, 50)};
  25. #endregion
  26. SqlCommand com = new SqlCommand(sql, conn);
  27. #region 第二种sql语句的创建
  28. com.Parameters.Add(parameters[0]).Value = name;
  29. com.Parameters.Add(parameters[1]).Value = pwd;
  30. #endregion
  31. #endregion
  32. try
  33. {
  34. #region 3.获取数据库执行后的数据
  35. int a = (int)com.ExecuteScalar();
  36. #endregion
  37. if (a != 0)
  38. {
  39. Response.Write("<script>alert('连接成功!');</script>");
  40. }
  41. else
  42. {
  43. Response.Write("<script>alert('用户名或密码错误!');</script>");
  44. }
  45. }
  46. catch (Exception)
  47. {
  48. Response.Write("<script>alert('发生错误!');</script>");
  49. }
  50. finally
  51. {
  52. conn.Close();
  53. }

三、个人理解

c#连接数据库个人认为分三大步:1.用代码连接数据库;2.用代码执行sql字符串;3.用代码获取sql执行后的数据

理解:可以用sql server 图形界面来解释每句代码的意义

1.用代码连接数据库

2018060720422754

  1. string ConStr = "server=.;database=StudentStatusDB;uid=sa;pwd=123456";
  2. server==>服务器名称;
  3. database==>所要连接的数据库名称(或者说转到某个数据库环境下 如数据库sql server中的use StudentStatusDB);
  4. uid==>登录名;
  5. pwd==>密码;
  6. SqlConnection conn = new SqlConnection(ConStr);
  7. //c#中连接数据库所用的代码类
  8. conn.Open();
  9. //打开数据库
  10. //两句代码就相当于sql server图形界面连接数据库中点击了的 连接 按钮

2.用代码连接执行sql语句

20180607205858337

  1. string sql = "select count(*) from tbUserInfo where UserName='" + name + "' and UserPassword='" + pwd + "'";
  2. //类似sql server执行新建查询后写的sql查询语句
  3. SqlCommand com = new SqlCommand(sql, conn);
  4. //c#中执行sql语句所用到的代码类,但是并未真正去执行,程序用到时才会去执行

3.用代码获取sql执行后的数据

20180607210121210

  1. int a = (int)com.ExecuteScalar();
  2. //获取sql语句执行后的结果

以上只是说明了我个人理解数据库与c#程序之间传递数据的方式,如想了解的更深刻可以了解SqlCommand与SqlDataAdapter

注:第二种方式的c#执行sql语句类似数据库执行sql server语句

exec sp_executesql N’select count(*) from tbUserInfo where UserName=@name and UserPassword=@pwd’,N’@name nvarchar(50),@pwd nvarchar(50)’,@name=N’admin’,@pwd=N’admin’

对了咋们用完数据库都会关闭数据库,而c#中关闭数据库用

  1. conn.Close();

不懂sql server图形界面的可以参考:https://blog.csdn.net/qq\_39657909/article/details/80550612

版权声明:本博客为记录本人自学感悟,内容大多从网上学习与整理所得,若侵权请告知!

https://mp.csdn.net/postedit/80365677

发表评论

表情:
评论列表 (有 0 条评论,420人围观)

还没有评论,来说两句吧...

相关阅读