我试图使用方法更新数据库,将使用该方法的参数,而不是使用SQL语句。我这样做是为了让用户可以在数据库中输入信息。在.net中更新数据库方法
System.Data.OleDb.OleDbConnection con;
DataSet dsl;
System.Data.OleDb.OleDbDataAdapter da;
public String updateDatabase(int id, String Fname, String Lname, int age, string job)
{
con = new System.Data.OleDb.OleDbConnection();
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\Owner\\Documents\\CIS3052.mdb";
dsl = new DataSet();
da = new System.Data.OleDb.OleDbDataAdapter();
con.Open();
DataRow dRow = dsl.Tables["Employee"].NewRow();
dRow["ID"] = id;
dRow["Fname"] = Fname;
dRow["Lname"] = Lname;
dRow["Age"] = age;
dRow["Job"] = job;
dsl.Tables["Employee"].Rows.Add(dRow);
da.Update(dsl, "Employee");
return null;
}
我的问题是,在这条线:
DataRow dRow = dsl.Tables["Employee"].NewRow();
它告诉我:
对象引用不设置到对象的实例。
我试过使用da.Fill()
,但我找不到一种方式来使用它,而不使用SQL语句。
谢谢。
所以,如果我必须使用SQL插入,我将如何做声明来接受方法的参数,而不必添加预置数据。 – Dumingu 2012-01-17 12:24:17
http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx命令文本可以是存储过程或sql语句。在sql语句的情况下,所有的参数必须在sql语句中用@定义。 var SQL =“更新myTable设置myColumn = @columevalue”。现在,您需要使用@columevalue在命令对象中添加一个sql参数。 – Mahesh 2012-01-17 12:40:13