0
ここで少し問題が残っています。私は、データテーブルからOLEDBとINSERTステートメントを使用してAccessデータベースにデータをインポートしていますが、アクセステーブルに複数のカラムがあり、必要なオプションがオンになっているので、私はどうしたらよいですか? DataGridの複数の列からAccessの複数の列に値を取得するステートメント。私のコードは、データグリッド内の任意のセルをクリックし、リストビュー内の列名をクリックするように動作します。ここに私のコードがあり、ごめんなさい。少しでも大丈夫ですが、私はコーディングが初めてです。Datagridの複数の列からAccessの複数の列に書き込む
private void datExcel_CellClick(object sender, DataGridViewCellEventArgs e)
{
string sqlSelect = "SELECT [" + datExcel.Columns[e.ColumnIndex].Name + "] FROM [" + cboSource.Text + "] ";
_ColumnValues = new List<string>();
OleDbCommand cmd = _SourceConn.CreateCommand();
cmd.CommandText = sqlSelect;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
if (!string.IsNullOrWhiteSpace(reader.GetValue(0).ToString()))
{
_ColumnValues.Add(reader.GetValue(0).ToString());
}
}
reader.Close();
}
、他の部分、あなたがそれを必要とする場合
private void lvwDestination_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
_tablesname = lvwDestination.SelectedItems[0].Text;
for (int i = 1; i < _ColumnValues.Count; i++)
{
string Colname = _ColumnValues[i];
string sqlIns = "INSERT INTO " + cboTableName.Text + " ([" + _tablesname + "]) VALUES ('" + Colname + "')";
OleDbCommand cmd = _DestConn.CreateCommand();
cmd.CommandText = sqlIns;
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}