Хорошо, поэтому, пока я точно не знаю, к чему вы направляетесь, я просто дам вам пример того, что я сделал, и вы можете взять его или оставить его.
Несколько деталей для вас. Это пример подключения к базе данных доступа, но подключения к другим типам баз данных аналогичны в их строках подключения. Посмотрите строки подключения для правильного синтаксиса.
У меня также есть строго типизированный DataSet, называемый currentDataSet, и таблица, которая называется той же и структурированной, что и тип базы данных. Есть и другие способы достижения этого, но это так, как я это сделал:
string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceString;
string strSql1 = "SELECT * FROM ReportTable";
OleDbConnection con = new OleDbConnection(conString);
con.Open();
OleDbDataAdapter dAdapter = new OleDbDataAdapter();
dAdapter.SelectCommand = new OleDbCommand(strSql1, con);
dAdapter.Fill(currentDataSet, "ReportTable");
con.Close();
Оттуда вы можете манипулировать данными внутри набора данных. Опять вот пример:
int reportTableCount = currentDataSet.ReportTable.Count();
int reportTableCounter = 0;
while (reportTableCounter < reportTableCount)
{
if (currentDataSet.ReportTable[reportTableCounter].RepParam1Value == "Bad data")
{
currentDataSet.ReportTable[reportTableCounter].RepParam1Value = "Good data";
}
reportTableCounter = reportTableCounter + 1;
}
С этой точки теперь вы можете обновить данные в базе данных с помощью следующего кода:
con.Open();
dAdapter.SelectCommand = new OleDbCommand(strSql1, con);
OleDbCommandBuilder objCommandBuilder = new OleDbCommandBuilder(dAdapter);
dAdapter.Update(currentDataSet, "ReportTable");
con.Close();
Как я уже сказал, если все это не помогает, не стесняйтесь игнорировать его, вы не повредит мои чувства :)
Я предполагаю, что я в замешательстве, вам нужно найти, какой тип каждого поля? Или вы пытаетесь каким-то образом манипулировать данными из базы данных? – Matt
Манипулирование данными из базы данных. – Ahmed