IronPython使用Sql Server数据库

本文介绍IronPython使用Sql Server数据库的方法,并配有Ironpython代码及相对应的C#代码。

import clr
clr.AddReference('System.Data')

from System.Data import *
from System.Data.SqlClient import *
  • 连接数据库
    保持数据库为打开状态,记录连接字符串(Connecting String),连接字符串样例:
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C:\Users\Asi\Documents\Visual Studio 2015\Projects\Project1\Project1\Database1.mdf";Integrated Security=True
  • 查询,返回DataSet
    执行查询语句,以数据集(DataSet)的形式返回查询结果(代码中ConnectingStr为连接字符串)

IronPython代码

def RetSet(querystr):
    DataAdapter = SqlDataAdapter(querystr, connectingstr);
    myDataSet = DataSet();
    DataAdapter.Fill(myDataSet);
    return myDataSet;

C#代码

static public DataSet RetSet(string querystr)
{
    SqlDataAdapter DataAdapter = new SqlDataAdapter(querystr, connectionstr);
    DataSet myDataSet = new DataSet();
    DataAdapter.Fill(myDataSet);
    return myDataSet;
}
  • 查询个数,返回Int32
    执行查询语句,查询满足条件的个数,以Int32的形式返回查询结果(代码中ConnectingStr为连接字符串)

IronPython代码

def QueryCount(querystr):
    sc = SqlConnection(connectionstr)
    sc.Open()   
    cmd = SqlCommand(querystr, sc)
    res = cmd.ExecuteScalar()
    sc.Close()
    return res

C#代码

static public int QueryCount(string querystr)
{
    using (SqlConnection sc = new SqlConnection(connectionstr))
    {
        sc.Open();
        SqlCommand cmd = new SqlCommand(querystr, sc);
        return Convert.ToInt32(cmd.ExecuteScalar());
    }
}
  • 执行非查询语句
    执行非查询语句,非查询语句包括delete,update等操作(代码中ConnectingStr为连接字符串)

IronPython代码

def NonQuery(querystr):
    sc = SqlConnection(connectionstr)
    sc.Open()   
    cmd = SqlCommand(querystr, sc)
    cmd.ExecuteNonQuery()
    sc.Close()

C#代码

static public void NonQuery(string querystr)
{
    using (SqlConnection sc = new SqlConnection(connectionstr))
    {
        sc.Open();
        SqlCommand cmd = new SqlCommand(querystr, sc);
        cmd.ExecuteNonQuery();
    }
}

上述代码测试环境:Ironpython2.7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章