嘿伙计们,我只是在练习程序读取,在C#中向Access DB写入数据,我在向Access DB写入数据时遇到问题,虽然我能够读取数据,即fetchin'正在工作很好,但当我插入数据我“ExecuteNonQuery”工作正常我的意思是没有ne错误但是当打开Access DB时数据不存在....这里是代码,我试着做什么...
//// Function For ExecuteNonQuery
public static bool ExecuteNonQuery(string Query)
{
OleDbCommand oledbCommand = new OleDbCommand(Query, connection);
if (connection.State == ConnectionState.Open)
connection.Close();
try
{
connection.Open();
if (oledbCommand.ExecuteNonQuery() > 0)
return true;
else
return false;
}
catch (Exception)
{
return false;
}
finally
{
connection.Close();
}
}
以下代码用于添加数据,该数据在“添加”按钮上被触发按
private void btnAdd_Click(object sender, EventArgs e)
{
simOperator.aim_network_name = txtAimNetNm.Text;
simOperator.network_id = txtOxiNetID.Text;
simOperator.network_name = txtNetName.Text;
simOperator.pack_id = txtPackID.Text;
simOperator.pack_name = txtPackName.Text;
SimOperator.Add(simOperator);
fillText();
}
public void fillText()
{
txtResult.Text = "";
SimOperator[] simOperatorList = SimOperator.GetAllOperators();
foreach (SimOperator sm in simOperatorList)
{
txtResult.Text += Program.operator_id + " " + sm.aim_network_name + " " + sm.network_name + " " + sm.network_id + " " + sm.pack_id + " " + sm.pack_name + "\r\n";
}
}
这是“添加”功能
string Query = string.Format("insert into {0}({2}) values({1});", calledObject.Name, PropertyValue,PropertyName);
ExecuteNonQuery(Query);
Actuall SQL查询是:
insert into SimOperator(aim_network_name,network_id,network_name,pack_id,pack_name) values('FiveNet','2563','FiveNet-Kurla','1236','5236');
是的和我的连接字符串
static OleDbConnection connection = new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
App.config文件包含字符串
add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AutoMobileRecharge.mdb;User Id=; Password=;Persist Security Info=True"
我没有得到的是我在所有内部字段文本框旁边放置了一个文本区域,以便我可以看到插入的内容,因此当插入数据时,文本区域完美地显示数据但是当我打开时访问数据库,然后没有数据,当我关闭我的应用程序,然后我再运行它然后文本区域是空的...这听起来很奇怪我...任何一个外面都遇到过这种问题请帮助我这里..
答案 0 :(得分:2)
你在调试期间这样做吗?在这种情况下,查看调试文件夹中是否有mdf文件,以及它是否包含您刚刚插入的数据。在该模式下运行应用程序时,Vs将一些文件复制到调试文件夹。如果我没记错的话,可以选择告诉vs不要在调试时复制文件