我们如何使用DbConnection类从DataBase连接和获取数据

时间:2014-11-21 12:29:16

标签: sql-server oracle ado.net

如何使用DbConnection类连接数据库(sql server或oracle)并从任何表中获取数据。我尝试使用以下代码,但是我得到了一个像这样的运行时异常:

  

错误3错误C2664:   '系统::数据::的SqlClient :: SqlDataAdapter的:: SqlDataAdapter的(系统::字符串   __gc *,System :: String __gc *)' :无法转换参数2来自' System :: Data :: Common :: DbConnection __gc *'到' System :: String __gc *'   在新的SqlDataAdapter(S" select * from [LabOpsStatus]",conn)

DbConnection *conn;
conn = new SqlConnection(S"Data Source=(local);Initial Catalog=myDb;User Id=user;Password=pw;");
conn->Open();
mySDataAdapter = new SqlDataAdapter(S"select * from [LabOpsStatus]",conn);

此代码有什么问题?

2 个答案:

答案 0 :(得分:0)

Shaheer,您需要从提供商创建连接。我不认为我的提供商指定为Oracle是正确的。

再一些c#代码

DbProviderFactory factory = DbProviderFactories.GetFactory("Oracle");

DbConnection conn = factory.CreateConnection();
conn.ConnectionString = "Data Source=(local);Initial Catalog=myDb;User Id=user;Password=pw;";

DbCommand cmd = factory.CreateCommand();
cmd.Connection = conn;
cmd.CommandText = "Select * from table1";

答案 1 :(得分:0)

string datosConexion = "Data Source=(local);"
        + "Initial Catalog = myDb ; User Id=user;Password=pw;";

        try
        {
            using (SqlConnection con = new SqlConnection(datosConexion))
            {
                con.Open();
                string textoCmd = "select * from [LabOpsStatus]";

                SqlCommand cmd = new SqlCommand(textoCmd, con);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }