欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c#程序连接sql server数据库

程序员文章站 2022-05-09 09:31:05
...

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

一、数据库内容:

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

数据库名:StudentStatusDB

表名:tbUserInfo

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

c#程序连接sql server数据库

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

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

            #region 获取前端文本框输入的账户和密码(这里用到的是asp.net网站的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 aaa@qq.com and aaa@qq.com";
            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.用代码连接数据库

c#程序连接sql server数据库

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语句

c#程序连接sql server数据库

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执行后的数据

c#程序连接sql server数据库

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

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

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

exec sp_executesql N'select count(*) from tbUserInfo where aaa@qq.com and aaa@qq.com',N'@name nvarchar(50),@pwd nvarchar(50)',@name=N'admin',@pwd=N'admin'


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

conn.Close();

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


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

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