0
プログラミング上の問題があります。xmlを使用してデータベース(アクセス)を正常に読み込むことができますが、関数に変換すると(テーブル名)は現在のコンテキストに存在しません。正しく参照するには?私は、情報を含むデータベース内に複数のタブを持っています。データベースにxmlをロードする(可変スコープ)
private void loadDatbase(String fileName, String tabelName)
{
{
{
try
{
string ConnString = (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\temp\\set.mdb;Persist Security Info=False");
using (OleDbConnection Conn = new OleDbConnection(ConnString))
{
SetCon.Text = "In try";
Conn.Open();
DataSet ds = new DataSet();
ds.ReadXml(@"c:\\temp\\"+fileName+".xml");
OleDbCommand cmd = new OleDbCommand();
DataTable dtCSV = new DataTable();
dtCSV = ds.Tables[0];
cmd.Connection = Conn;
cmd.CommandType = CommandType.Text;
for (int row = 0; row <= dtCSV.Rows.Count - 1; row++)
{
cmd.Parameters.Clear();
if (dtCSV.Columns.Count > 1)
{
cmd.Parameters.Add(new OleDbParameter("@Property", (dtCSV.Rows[row][0])));
cmd.Parameters.Add(new OleDbParameter("@Pvalue", (dtCSV.Rows[row][1])));
cmd.Parameters.Add(new OleDbParameter("@Pdefault", (dtCSV.Rows[row][2])));
cmd.Parameters.Add(new OleDbParameter("@PType", (dtCSV.Rows[row][3])));
//cmd.CommandText = ("INSERT INTO table1 " (Property, Pvalue, Pdefault, PType) VALUES (? , ?, ?, ?)");
//The above works no wories however the string below does not tableName does not exist in the current context
cmd.CommandText = ("INSERT INTO "+tableName+" (Property, Pvalue, Pdefault, PType) VALUES (? , ?, ?, ?)");
cmd.ExecuteNonQuery();
}
}
}
}
catch (Exception ex)
{
richTextBox1.Text = richTextBox1.Text + "\n Error " + ex + "" +
"\n"; ;
}
}
}
}