すべてのタイプのデータベース(Oracle、MySQL、SQLite)で動作する一般化されたアプリケーションを開発したいと思います。そのため、1つの共通の場所から各フォームに異なるデータソースを提供しました。
また、複数のパラメーターを受け入れることができるパラメーター化されたクエリを使用したいと思います。DbParameterを使用して複数のパラメーターを渡すことができません。単一のパラメーターのクエリでは正常に機能しますが、多くのパラメーターでは機能しません。
だから私を助けてください...
dbconnect dc = new dbconnect();//class which contain data source name
DbConnection con;
DbCommand cmd;
DbDataReader dr;
DbProviderFactory df;
DataAdapter da;
df = DbProviderFactories.GetFactory(dbconnect.dbprovider);
con = df.CreateConnection();
con.ConnectionString = dbconnect.sqlstr;
con.Open();
cmd = df.CreateCommand();
cmd.CommandText = "update customer set" + " name='@name'," + "address='@address'," + "phone='@phone' " + "where code='@code';";
cmd.Connection = con;
DbDataAdapter daa = df.CreateDataAdapter();
daa.UpdateCommand = cmd;
DbParameter param = df.CreateParameter();
param.ParameterName = "@name";
param.Value = txtname.Text;
param.ParameterName = "@address";
param.Value = txtadd.Text;
param.ParameterName = "@phone";
param.Value = txtphone.Text;
param.ParameterName = "@code";
param.Value = txtcode.Text;
daa.UpdateCommand.Parameters.Add(param);
daa.UpdateCommand.ExecuteNonQuery();
**But this not working.**