C#中对sqlserver进行增删改查

2 篇文章 1 订阅

1. 添加引用

using System.Data;
using System.Data.SqlData;
  • 建立于数据库的连接。
string sqlconnection = "data source = "注解1";database = 注解2;uid = "注解3";pwd ="注解4"";(其实还有很多种写法)
参考:http://www.cnblogs.com/delphinet/archive/2011/06/24/2088765.html
  • 经常用到的对象有:SqlConnection,SqlAdapter,SqlCommand、Dataset、DataGrid和 DataReader等,以SqlConnection,SqlAdapter,SqlCommand、Dataset、DataGrid对象,操作 SQL的实例数据库Northwind中的Categorys表为例说明(假定数据库在本地,数据库访问的用户名为user,密码为123456):
    接下来做一下四个操作的实现

2. 查询数据:

string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";//定义数据库连接参数
SqlConnection MyConnection=new SqlConnection(MyConn);//定义一个数据连接实例
SqlCommand MyCommand=new SqlCommand("SELECT CategoryID, CategoryName, Description FROM Categories",MyConnection); //定义一个数据库操作指令
SqlDataAdapter SelectAdapter=new SqlDataAdapter();//定义一个数据适配器
SelectAdapter.SelectCommand=MyCommand;//定义数据适配器的操作指令
DataSet MyDataSet=new DataSet();//定义一个数据集
MyConnection.Open();//打开数据库连接
SelectAdapter.SelectCommand.ExecuteNonQuery();//执行数据库查询指令
MyConnection.Close();//关闭数据库
SelectAdapter.Fill(MyDataSet);//填充数据集
DataGrid1.DataSource=MyDataSet;
DataGrid1.DataBind();//将数据表格用数据集中的数据填充

3. 添加数据

string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";
SqlConnection MyConnection=new SqlConnection(MyConn);
string MyInsert="insert into Categories(CategoryName, Description)values('"+Convert.ToString(TextBox2.Text)+"','"+Convert.ToString(TextBox3.Text)+"')";
SqlCommand MyCommand=new SqlCommand(MyInsert,MyConnection);
try//异常处理
{
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
}
catch(Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}

4. 修改数据

string categoryName=TextBox2.Text;
string categoryDescription=TextBox3.Text;
string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";
SqlConnection MyConnection=new SqlConnection(MyConn);
string MyUpdate="Update Categories set CategoryName='"+categoryName+"',Description='"+categoryDescription+"' where CategoryID="+TextBox1.Text;
SqlCommand MyCommand=new SqlCommand(MyUpdate,MyConnection);
try
{
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
TextBox1.Text="";
}
catch(Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}

5. 删除数据

string  MyConn="server=127.0.0.1;uid=user;pwd=123456;
database=Northwind;Trusted_Connection=no";
SqlConnection MyConnection=new SqlConnection(MyConn);
string MyDelete="Delete from Categories where CategoryID="+TextBox1.Text;
SqlCommand MyCommand=new SqlCommand(MyDelete,MyConnection);
try
{
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
TextBox1.Text="";
}
catch(Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的 C# SQL Server 访问增删改查公共类的示例: ```csharp using System; using System.Data; using System.Data.SqlClient; public static class SqlHelper { private static string connectionString = "Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True"; public static DataTable ExecuteDataTable(string sql) { DataTable dt = new DataTable(); using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(sql, conn)) { SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(dt); } } return dt; } public static int ExecuteNonQuery(string sql) { int affectedRows = 0; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(sql, conn)) { affectedRows = cmd.ExecuteNonQuery(); } } return affectedRows; } public static object ExecuteScalar(string sql) { object result = null; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(sql, conn)) { result = cmd.ExecuteScalar(); } } return result; } } ``` 这个公共类包含了三个静态方法: 1. `ExecuteDataTable`:执行查询语句并返回一个 DataTable 对象。 2. `ExecuteNonQuery`:执行增删改语句并返回受影响的行数。 3. `ExecuteScalar`:执行查询语句并返回单个结果。 你可以使用这些方法来执行 SQL Server 数据库的基本操作。例如,使用 `ExecuteNonQuery` 方法来执行一个插入语句: ```csharp string insertSql = "INSERT INTO MyTable (Name, Age) VALUES ('John', 30)"; int affectedRows = SqlHelper.ExecuteNonQuery(insertSql); ``` 使用 `ExecuteDataTable` 方法来执行一个查询语句并返回一个 DataTable 对象: ```csharp string selectSql = "SELECT * FROM MyTable"; DataTable dt = SqlHelper.ExecuteDataTable(selectSql); foreach (DataRow row in dt.Rows) { Console.WriteLine("Name: {0}, Age: {1}", row["Name"], row["Age"]); } ``` 使用 `ExecuteScalar` 方法来执行一个查询语句并返回单个结果: ```csharp string countSql = "SELECT COUNT(*) FROM MyTable"; int count = (int)SqlHelper.ExecuteScalar(countSql); Console.WriteLine("Total rows: {0}", count); ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值