我需要一些帮助。

我尝试将 INSERT 添加到我的 SQL 数据库中,但我不能,因为在此代码行中给我一个错误:

 commandoSQL.Connection = dbcon;

我收到此错误:



我希望有人能帮我解决这个问题。

谢谢

我的代码:
public class ChamarVariavel : MonoBehaviour {

    public UISlider slider;

    // Use this for initialization
    void Start () {
    }

    // Update is called once per frame
    void Update () {
    }

    void OnGUI(){
        // Connection DB
        string connectionString = "Data Source=(local);Initial Catalog=Test;User ID=******;Password=*******";

        IDbConnection dbcon;

        dbcon= new SqlConnection(connectionString);

        dbcon.Open();
        //DB Online

        float x = slider.value * 100;
        GUI.Label(new Rect( 570, 238, 70, 30 ), "(" + x.ToString("f2") + ")");

        string qInsert = string.Format(@"INSERT INTO Fuel (fuel) VALUES ('{0}')", x);

        SqlCommand commandoSQL = new SqlCommand(qInsert);

        commandoSQL.Connection = dbcon;

        try
        {
            commandoSQL.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            GUI.Label(new Rect( 300, 40, 300, 300 ), ex.ToString());
        }

        dbcon.Close();
        //DB offline
    }
}

最佳答案

该错误实际上是在告诉您问题,您需要显式转换对象,因为 SqlCommand 正在寻找 SqlConnection ,请考虑这样做:

new SqlCommand(qInsert, (SqlConnection)dbcon);

并删除这一行:
commandoSQL.Connection = dbcon;

另一种选择是将 dbcon 定义为 SqlConnection :
SqlConnection dbcon

然后您可以执行以下操作:
new SqlCommand(qInsert, dbcon);

最后,看看我前段时间写的 blog post ;你需要改变你使用对象的方式。

关于c# - "Cannot implicitly convert type IDbConnection to SqlConnection",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24209038/

10-12 19:18