- 引用
一般在创建类的时候会自动生成几个引用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
- 创建数据库连接字段
也可以不创建,之后的方法用到的时候,直接从将字段填写在需要的位置即可。这里我用到的是通过在Web.config里配置的连接字段后,在此处进行引用。
Web.config配置字段和创建连接字段:
这里配置的字段是自动生成的,可以参考文章:https://blog.csdn.net/KKBoy11/article/details/106874972
<connectionStrings>//这一步在Web.confug里
<add name="DigitalProductShopConnectionString" connectionString="Data Source=.;Initial Catalog=DigitalProductShop;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
//这一步在当前类里
private static string strCon = ConfigurationManager.ConnectionStrings["DigitalProductShopConnectionString"].ConnectionString;
3.创建两个方法,一个是Query(查询方法),一个是NonQuery(增删改查方法)
这两个方法里的创建对象用到的using(){}则是为了回收对象,合理释放资源
//查询方法,参数设置为string类型的字符串,用于传入要执行的查询Sql语句,而返回类型为DataTable则是用于返回查询到的表格
public static DataTable Query(string sql)
{
//创建数据库查询对象,参数为查询语句和连接字段
using (SqlDataAdapter sda = new SqlDataAdapter(sql, strCon))
{
//创建一张空表用于承接数据
using (DataTable dt = new DataTable())
{
//将数据填充到空表dt中
sda.Fill(dt);
//返回数据
return dt;
}
}
}
//查询方法,参数设置为string类型的字符串,用于传入要执行的增/删/改的Sql语句,而返回类型为int则是用于返回数据表中执行操作后受影响的行数
public static int NonQuery(string sql)
{
//先定义一个整数,初始值为0,可以理解为受影响行数为0
int num = 0;
//创建数据库连接对象,参数为数据库连接字段
using (SqlConnection conn = new SqlConnection(strCon))
{
//打开连接对象
conn.Open();
//这里用到tryf语句,是为了不论数据库操作是否成功,都可以在最后关闭数据库连接对象
try
{
//创建数据库操作对象,参数为增/删/改语句和数据库连接对象
using (SqlCommand comm = new SqlCommand(sql, conn))
{
//这里执行数据库操作语句,该方法会返回一数据表受影响的行数--int类型的值
num = comm.ExecuteNonQuery();
}
}
finally
{
//判断数据库连接对象的状态是否为打开状态
if (conn.State == ConnectionState.Open)
{
//如果打开,则将其关闭
conn.Close();
}
}
}
//最后返回受影响的行数。
return num;
}