ADO.NET 4 快速上手(4)——添、改、删数据

四、    添、改、删数据

1.    同步操作

// Assumes connection is a valid SqlConnection.
connection.Open();

string queryString = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";

SqlCommand command = new SqlCommand(queryString, connection);
Int32 recordsAffected = command.ExecuteNonQuery();

2.    非查询操作异步操作

A.    异步阻塞

using (SqlConnection conn = new SqlConnection(
    "Data Source=localhost;Initial Catalog=SettingKnowledgeManagement;" +
    "Integrated Security=True;Asynchronous Processing=true"))
{
    string sql = "insert into tb_user values('tt', 'tt')";
    SqlCommand dataAction = new SqlCommand(sql, conn);
    conn.Open();

    IAsyncResult pending = dataAction.BeginExecuteNonQuery();
    while (pending.IsCompleted == false)
    {
        // do work
        Thread.Sleep(100);
    }

    dataAction.EndExecuteNonQuery(pending);
}

B.    异步回调

static void Main(string[] args)
{
    using (SqlConnection conn = new SqlConnection(
        "Data Source=localhost;Initial Catalog=SettingKnowledgeManagement;" +
        "Integrated Security=True;Asynchronous Processing=true"))
    {
        string sql = "insert into tb_user values('t2', 't2')";
        SqlCommand dataAction = new SqlCommand(sql, conn);
        conn.Open();

        AsyncCallback callback = new AsyncCallback(Finished);
        dataAction.BeginExecuteNonQuery(callback, dataAction);
    }

    Console.ReadKey();
}

private static void Finished(IAsyncResult r)
{
    SqlCommand dataAction = (SqlCommand)r.AsyncState;
    dataAction.EndExecuteNonQuery(r);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值