我有一个visual studio Windows窗体项目。 我有一个窗口让用户输入文档信息,如
在用户完成之后..我将这些信息存储在数据库的文档表中
connectingString = ConfigurationManager.ConnectionStrings["AccountingPro.Properties.Settings.DAccConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(connectingString);
con.Open();
String query = "INSERT INTO dbo.document (docnum, basicdate, userdate, doctype, amount, AccountNumber, accountname, discounttype, discountpercentage, amountafterdiscount, comments, posted) VALUES(@id, @BD, @UD, @DT, @Am, @anum, @aname, @disT, @disP, @aad, @notes, @de)";
command = new SqlCommand(query, con);
command.Parameters.Add("@id", this.ID);
command.Parameters.Add("@BD", this.Basic_Date);
command.Parameters.Add("@UD", this.User_Date);
command.Parameters.Add("@DT", this.Type_of_Doc);
command.Parameters.Add("@Am", this.Amount);
command.Parameters.Add("@anum", this.account_num);
command.Parameters.Add("@aname", this.account_name);
command.Parameters.Add("@disT", '0');
command.Parameters.Add("@disP", '0');
command.Parameters.Add("@aad", '0');
command.Parameters.Add("@notes", this.Notes);
if(this.departure == false)
command.Parameters.Add("@de", '0');
else
command.Parameters.Add("@de", '1');
da = new SqlDataAdapter(command);
dt = new DataTable();
da.Fill(dt);
da.Update(dt);
con.Close();
这些信息在运行时存储在数据库中的问题。 当我开始新的执行时,我找不到像表格那样的先前信息
你帮我吗? 感谢答案 0 :(得分:1)
由于您要将数据插入数据库而不是检索,因此请勿使用SqlDataAdapter
使用ExecuteNonQuery
命令:
...
command.ExecuteNonQuery();
答案 1 :(得分:1)
我猜你是否正在使用本地.MDB文件来存储您的数据,并且在您构建项目时文件会被覆盖。
将复制到输出目录属性更改为不复制以防止文件被覆盖。然后,您可以更改连接字符串以指向项目目录中的文件,也可以手动复制到" bin"适当的文件夹。
有关MSDN的更多提示:
注意:我也会更改为使用ExecuteNonQuery
,而不是使用SqlDataAdapter
。
答案 2 :(得分:0)
如果要在数据库中插入数据,则必须使用命令对象的ExecuteNonQuery方法。处理任何IDisposable对象(如连接和命令对象)也是一件好事。
string connectingString = ConfigurationManager.ConnectionStrings["AccountingPro.Properties.Settings.DAccConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(connectingString))
{
con.Open();
String query = "INSERT INTO dbo.document (docnum, basicdate, userdate, doctype, amount, AccountNumber, accountname, discounttype, discountpercentage, amountafterdiscount, comments, posted) VALUES(@id, @BD, @UD, @DT, @Am, @anum, @aname, @disT, @disP, @aad, @notes, @de)";
using (var command = con.CreateCommand()) {
command.Parameters.Add("@id", this.ID);
command.Parameters.Add("@BD", this.Basic_Date);
command.Parameters.Add("@UD", this.User_Date);
command.Parameters.Add("@DT", this.Type_of_Doc);
command.Parameters.Add("@Am", this.Amount);
command.Parameters.Add("@anum", this.account_num);
command.Parameters.Add("@aname", this.account_name);
command.Parameters.Add("@disT", '0');
command.Parameters.Add("@disP", '0');
command.Parameters.Add("@aad", '0');
command.Parameters.Add("@notes", this.Notes);
if (this.departure == false)
command.Parameters.Add("@de", '0');
else
command.Parameters.Add("@de", '1');
command.ExecuteNonQuery();
}
con.Close();
}