繁体   English   中英

ADO.NET问题写入数据库

[英]ADO.NET issue writing to Database

我正在尝试使用下面的代码插入数据库,我已经尝试了所有可以想到的方法,但是当我检查数据库中的表没有任何变化时,我在做什么错呢?

PS如下所示,数据库的名称是Stoichiometry.mdb,表的名称是Molecules。

谢谢

 con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Stoichiometry.mdb");
    adMol = new OleDbDataAdapter();
    adMol.SelectCommand = new OleDbCommand("SELECT * FROM Molecules", con);

    dsHistory = new DataSet();
    con.Open();
    adMol.Fill(dsHistory, "Molecules");
    con.Close();

    DataRow data = dsHistory.Tables["Molecules"].NewRow();
    data["Formula"] = formula_;
    data["MolecularWeight"] = totalWeight_;
    adMol.InsertCommand = new OleDbCommand("INSERT INTO Molecules (Formula,"
                    + " MolecularWeight) " + "VALUES(@Formula, @MolecularWeight)", con);


    adMol.InsertCommand.Parameters.Add("@Formula", OleDbType.VarChar, 250, "Formula");
    adMol.InsertCommand.Parameters["@Formula"].SourceVersion = DataRowVersion.Current;
    adMol.InsertCommand.Parameters.Add("@MolecularWeight", OleDbType.Numeric, 20, "MolecularWeight");
    adMol.InsertCommand.Parameters["@MolecularWeight"].SourceVersion = DataRowVersion.Current;

添加参数后添加此行

adMol.InsertCommand.ExecuteNonQuery();

更新

adMol.InsertCommand = new OleDbCommand("INSERT INTO Molecules (Formula," + " MolecularWeight) " + "VALUES(@Formula, @MolecularWeight)", con);
adMol.InsertCommand.Parameters.Add("@Formula", OleDbType.VarChar, 250, "Formula");
adMol.InsertCommand.Parameters["@Formula"].SourceVersion = DataRowVersion.Current;
adMol.InsertCommand.Parameters.Add("@MolecularWeight", OleDbType.Numeric, 20, "MolecularWeight");
adMol.InsertCommand.Parameters["@MolecularWeight"].SourceVersion = DataRowVersion.Current;
adMol.InsertCommand.ExecuteNonQuery()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM