2012-06-19 2 views
0

Я создаю программу, которая будет обновлять ранний проголосовавший столбец в моей базе данных с 1, если избиратель рано проголосовал. Мне нужно, чтобы пользователи могли загружать CSV и сопоставлять столбец id этого CSV с идентификатором избирателя в моей базе данных, а затем обновлять его ранний статус. Поскольку CSV будет поступать от пользователей, я не буду знать количество столбцов в CSV, у некоторых может быть 2 столбца, у которых может быть 10, но у всех будет столбец id, который будет соответствовать идентификатору избирателя в моей базе данных. У меня есть код, который загружает CSV и вставляет его в datatable, но мне нужна помощь с логикой для вставки в базу данных. Я думал о чем-то подобном, но не знаю, как правильно его обрабатывать.Обновление базы данных с данными данных с предложением where

UPDATE personal SET earlyVoted = 1 where personal.id = datatable.id 

Это код, у меня есть для DataTable

string target = Server.MapPath("~/Upload"); 
    if (FileUpload1.HasFile) 
    { 
     FileUpload1.SaveAs(System.IO.Path.Combine(target, FileUpload1.FileName)); 
     string connString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Text;", System.IO.Path.GetDirectoryName(target + "\\" + FileUpload1.FileName)); 
     string cmdString = string.Format("SELECT * FROM {0}", System.IO.Path.GetFileName(target + "\\" + FileUpload1.FileName)); 
     OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmdString, connString); 
     DataSet dataSet = new DataSet(); 
     dataAdapter.Fill(dataSet); 
     GridView1.DataSource = dataSet.Tables[0]; 
     GridView1.DataBind(); 
    }  

Спасибо заранее

ответ

0
UPDATE (SELECT personal.earlyvoted 
      FROM personal 
      , datatable 
     WHERE personal.id = datatable.id) 
    SET earlyvoted = 1; 

Вам нужно первичный ключ идентификатор в каждой таблице.

Смежные вопросы