.net ado.net VS连接SQL Server数据库,增删改查详细教程(C#代码、适合对c#有点基础对sql server有点基础、但不了解ado.net)

.net ado.net VS连接SQL Server数据库,增删改查详细教程(C#代码、适合对c#有点基础对sql server有点基础、但不了解ado.net

建议阅读15分钟

先来讲解一下思路

1.连接数据库,首先我们要知道你要连那一台计算机(sql server服务器名 )上面的什么数据库 (数据库名)
so 我们需要一个连接字符串
(指定连接到那台计算机上面的那个数据库)
2.创建连接实例 这个时候我们需要传入连接字符串 然后就创建了一个连接到你指定数据库的连接实例
(ps:为什么要连接实例?请问类不实例化你能使用他的方法吗?静态类除外)
3.传入sql 语句和参数完成增删改查
(参数是什么 就是方法的参数,使用参数可以有效避免sql注入攻击)
4.返回查询到的结果,或着进行的操作受影响的行数
(ps :比如我登陆,按照用户名查密码,查到了用户名之后返回对应的密码 这个对应密码就是返回的结果 受影响的行数是什么 你在sql 里面写 insert update delete 的时候sql会提示你几行受影响)

理解好思路在来看代码

首先我们封装一个SqlHelper类来用来帮助我们进行增删改查、

添加类:SqlHelper

添加命名空间:
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

代码如下:

public class SqlHelper
{
private static string connString = ConfigurationManager.ConnectionStrings[“connectionString”].ConnectionString;//创建连接字符串

///执行sql 语句 返回受影响的行数
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))//创建连接实例(传入连接字符串)
{
SqlCommand command = new SqlCommand(sql, connection);//创建连接命令(传入sql语句和连接实例)
command.Parameters.AddRange(parameters); //添加参数
connection.Open();//打开连接
return command.ExecuteNonQuery();//返回受影响的行数
}
}
///返回查询到的结果
public static DataTable GetDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))
{
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
DataTable dataTable = new DataTable();
adapter.SelectCommand.Parameters.AddRange(parameters);

            adapter.Fill(dataTable);

            return dataTable;
        }
    }

///这个和第一个差不多 只不过返回的是查询到的第一行第一例
public static object executeScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))
{
SqlCommand command = new SqlCommand(sql, connection);

            command.Parameters.AddRange(parameters);

            connection.Open();
            return command.ExecuteScalar();

           
        }
    }
}

这个时候 我们需要在web.config 连接字符串指定服务器和数据库

< connectionStrings >
< add name=“connectionString” connectionString=“Data Source=22222P-3LE77N0;Initial Catalog=Eshop;Integrated Security=True”/>
< /connectionStrings>

Data Source=服务器名
Initial Catalog=数据库名

这个就是服务器名
在这里插入图片描述

数据库名
在这里插入图片描述

好了我们在测试一下
创建测试窗体
在这里插入图片描述

给button1注册点击事件

protected void Button1_Click(object sender, EventArgs e)
{
//
string user= TextBox1.Text.Trim();
string pwd = TextBox2.Text.Trim();
//
string sql = "select * from User_info where loginName=@loginname "; //查询User_info中所有用户名为 textbox1中的所有信息

// SqlParameter parameter=new SqlParameter(“loginname”, user);

// DataTable dataTable = SqlHelper.GetDataTable(sql, parameter);
// string seletpwd = null;

// try//防止查询到数据库当中没有的用户名报错
// {
// seletpwd = dataTable.Rows[0][2].ToString(); //我这里的密码是放在了在这里插入图片描述
第三个位置 索引从0开始的 根据你密码位置来
// }
// catch
// {
// Response.Write(“用户名错误”);
// }
// if (pwd == seletpwd)
// {
// Response.Write(“登陆成功”);
// }
// else
// {
// Response.Write(“密码错误”);
// }
// }
当然我这个测试写的很low
比如数据库有一个用户名一样但是密码不一样的只能查询到第一个
seletpwd = dataTable.Rows[0][2].ToString();//这句只返回了第一个的密码

在这里插入图片描述

学会了慢慢去改

插入 插入代码 update delete 也是基本一样
在这里插入图片描述
// protected void Button1_Click(object sender, EventArgs e)
{
string sql = “insert into User_info (loginName,loginPwd) values(’” + TextBox1.Text + “’,’” + TextBox2.Text + “’)”;

// if (SqlHelper.ExecuteNonQuery(sql) > 0)
// {
// Response.Write(“”);
}
}

在这里插入图片描述

使用刚刚注册的test测试
在这里插入图片描述
数据库的数据
在这里插入图片描述
增 查 已经有了 删除 改 自己去写一下很简单的

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值