C#读取数据库

主要分为两部分 1. 数据库连接 2. SQL语句
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp1
{
    internal class DB : IDisposable
    {
        private SqlConnection sqlConnection;
        public DB() { 
            sqlConnection = new SqlConnection(@"server=localhost;database=SCNT;uid=sa;pwd=123456");
            sqlConnection.Open();
        }

        public DataTable getBySql(string sql)
        {
            // 查询
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(new SqlCommand(sql, sqlConnection));
            DataTable dataTable = new DataTable();
            sqlDataAdapter.Fill(dataTable);
            return dataTable;
        }

        public void setBySql(string sql)
        {
            // 修改
            new SqlCommand(sql, sqlConnection).ExecuteNonQuery();
        }

        public void Dispose()
        {
            // 相当于析构函数
            sqlConnection.Close();
            // 在 C# 中关闭数据库连接不能在类的析构函数中关闭,否则会抛出异常
            // 通过实现 C# 中IDisposable接口中的 Dispose() 方法主要用途是释放非托管类资源
        }
    }
}
这里有一篇详细的关于SQL部分关键字使用说明
想要弄懂GROUP BY看这一篇就够了 (qq.com)
// 含约束的数据项删除
db.setBySql("alter table WORKS nocheck constraint all;");  // 接触约束判断
string sql = string.Format("DELETE FROM WORKS WHERE EmpNo = '{0}';", listView1.SelectedItems[0].SubItems[0].Text);
db.setBySql(sql);
sql = string.Format("DELETE FROM EMPLOYEE WHERE EmpNo = '{0}';", listView1.SelectedItems[0].SubItems[0].Text);
db.setBySql(sql);
db.setBySql("alter table WORKS check constraint all");  // 启用约束判断
listView1.SelectedItems.Clear();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值