C# 不使用数据集/表中间人访问数据库。查看我对代码的编辑,但它有点太简单了。我将继续创建一个查询原型。我将很快尝试生成一个工作样本。所以,我想要的是一个内部连接,对吗?因为我并不真正想要这些空值,它只需要添加匹配的值。类似于从Excel内部更新ACTB值手指、
C# 不使用数据集/表中间人访问数据库。查看我对代码的编辑,但它有点太简单了。我将继续创建一个查询原型。我将很快尝试生成一个工作样本。所以,我想要的是一个内部连接,对吗?因为我并不真正想要这些空值,它只需要添加匹配的值。类似于从Excel内部更新ACTB值手指、,c#,linq,ms-access,datagridview,datatable,C#,Linq,Ms Access,Datagridview,Datatable,不使用数据集/表中间人访问数据库。查看我对代码的编辑,但它有点太简单了。我将继续创建一个查询原型。我将很快尝试生成一个工作样本。所以,我想要的是一个内部连接,对吗?因为我并不真正想要这些空值,它只需要添加匹配的值。类似于从Excel内部更新ACTB值手指、拇指在Excel上连接ACTB.PersonID==ACTB.PersonID从Excel中选择Excel.*,ACTB.*,其中Excel.PersonID=ACTB.PersonID遵循。我尝试了您的编辑,但它抛出了一个错误:无法从fore
不使用数据集/表中间人访问数据库。查看我对代码的编辑,但它有点太简单了。我将继续创建一个查询原型。我将很快尝试生成一个工作样本。所以,我想要的是一个内部连接,对吗?因为我并不真正想要这些空值,它只需要添加匹配的值。类似于
从Excel内部更新ACTB值手指、拇指在Excel上连接ACTB.PersonID==ACTB.PersonID
从Excel中选择Excel.*,ACTB.*,其中Excel.PersonID=ACTB.PersonID代码>遵循。我尝试了您的编辑,但它抛出了一个错误:无法从foreach(source.Rows中的var行)将类型对象转换为int。或类型对象不可分配给类型“int”。同时,我将尝试让上面的foreach工作起来。我设法简单地将Excel数据直接插入Access数据库,而无需数据集/表中间人。查看我对代码的编辑,但它有点太简单了。我将继续创建一个查询原型。
OleDbcon.Open();
tbContainer = new SD.DataTable();
OleDbCommand cmd = new OleDbCommand();
System.Data.DataTable dt = new System.Data.DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(string.Format("select * from [{0}$]", sheetName), OleDbcon);
DataSet ds = new DataSet();
oda.Fill(ds);
DGVExcel.DataSource = ds.Tables[0];
Console.WriteLine(dt.Rows.Count);
OleDbcon.Close();
for (int i = 2; i < DB.Count ; i++){
string query = "if not exists Select * from Table where ID = " + DGridView.Rows[i].Cells[LastCell];
conn.Open();
string sqls = @"INSERT INTO ACXL SELECT * FROM [Excel 12.0;HDR=YES;DATABASE=" + openFileDialog.FileName + "].[" + txtSheetName.Text + "$];";
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = sqls;
cmd.ExecuteNonQuery();
conn.Close();
void InsertRowIntoTempTable(int id, int fingers, int thumbs)
{
using (var conn = this.GetDatabaseConnection())
{
var cmd = new SqlCommand(conn);
cmd.CommandText = String.Format("INSERT INTO TempTable VALUES ({0},{1},{2})", id, fingers, thumbs);
conn.Open();
cmd.ExecuteNonQuery();
}
}
void InsertRowsIntoTempTable(DataTable source)
{
for each (var row in source.Rows)
{
InsertRowIntoTempTable(row["ID"], row["Fingers"], row["Thumbs"]);
}
}