admin管理员组

文章数量:1794759

c#程序连接sql server数据库

c#程序连接sql server数据库

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

一、数据库内容:

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

数据库名:StudentStatusDB

表名:tbUserInfo

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

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

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

#region 获取前端文本框输入的账户和密码(这里用到的是asp网站的web窗体)             string name = txtName.Text.Trim(); string pwd = txtPassword.Text.Trim();             #endregion #region 1.用代码连接数据库 //第一种连接,sql server的Windows身份验证 //string ConStr = "server=.;database=StudentStatusDB;Trusted_Connection=SSPI"; //第二种连接,sql server身份验证 string ConStr = "server=.;database=StudentStatusDB;uid=sa;pwd=123456"; SqlConnection conn = new SqlConnection(ConStr); conn.Open(); #endregion             #region 2.用代码执行sql字符串 #region 第一种sql语句创建 //第一种方法 //sql注入当输入框账户输入1' or 1=1 or Username='2 密码框输入1' or 1=1 or Username='2也能成功登陆 //string sql = "select count(*) from tbUserInfo where UserName='" + name + "' and UserPassword='" + pwd + "'"; #endregion #region 第二种sql语句创建 //第二种方法 string sql = "select count(*) from tbUserInfo where UserName=@name and UserPassword=@pwd"; SqlParameter[] parameters = { new SqlParameter("@name", SqlDbType.NVarChar, 50), new SqlParameter("@pwd", SqlDbType.NVarChar, 50)}; #endregion SqlCommand com = new SqlCommand(sql, conn); #region 第二种sql语句的创建 com.Parameters.Add(parameters[0]).Value = name; com.Parameters.Add(parameters[1]).Value = pwd; #endregion             #endregion try {                 #region 3.获取数据库执行后的数据 int a = (int)com.ExecuteScalar();                 #endregion if (a != 0) { Response.Write("<script>alert('连接成功!');</script>"); } else { Response.Write("<script>alert('用户名或密码错误!');</script>"); } } catch (Exception) { Response.Write("<script>alert('发生错误!');</script>"); } finally { conn.Close(); }

三、个人理解

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

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

1.用代码连接数据库

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

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

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

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

int a = (int)com.ExecuteScalar(); //获取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#中关闭数据库用

conn.Close();

不懂sql server图形界面的可以参考:blog.csdn/qq_39657909/article/details/80550612

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

mp.csdn/postedit/80365677

本文标签: 数据库程序SQLSERVER