Mam taki problem mianowicie chcę sobie zrobić programik dla siebie do zaciągania inwestycji z *.xls. Podczas importu chcę by aplikacja sprawdziła czy dany numer inwestycji już znajduje się w bazie czy nie. Jeśli tak to pomija a jeśli nie znajdzie w bazie id o takiej inwestycji to doda wpis jako nowy wiersz do datagriedview. I tutaj w tym miejscu utknąłem... nie umiem sobie z tym poradzić próbowałem różnych sposób i jakoś nie mogę tego ogarnąć.... Ostatecznie ładowałem wszystko do tabeli i usuwałem wiersza ale też nie działa ;(
Z góry dziękuję za pomoc... Dopiero raczkuję w C# także wybaczcie ;)
private void button1_Click(object sender, EventArgs e)
{
{
try
{
OpenFileDialog openfile1 = new OpenFileDialog();
if (openfile1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.textBox1.Text = openfile1.FileName;
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.DataSet DtSet;
System.Data.OleDb.OleDbDataAdapter MyCommand;
MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox1.Text + ";Extended Properties=Excel 8.0;");
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Inwestycje$]", MyConnection);
MyCommand.TableMappings.Add("Table", "TestTable");
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
//dataGridView1.DataSource = DtSet.Tables[0];
int ile_wierszy = (DtSet.Tables[0].Rows.Count);
MessageBox.Show("wierszy importowanych: " + ile_wierszy.ToString());
int m = 1;
for (int i=0;i<ile_wierszy;i++)
{
int id_ki = Int32.Parse(DtSet.Tables[0].Rows[i][0].ToString());
using (SqlConnection con = new SqlConnection())
{
con.ConnectionString = sConnectionString;
con.Open();
using (SqlCommand cmd = new SqlCommand("select * from Inwestycje_test WHERE Id_Ki=" + id_ki, con))
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
while (dr.Read())
{
dataSet1.Tables[0].Rows[i].Delete();
dataGridView1.DataSource = DtSet.Tables[0];
}
}
else
{
MessageBox.Show("No record is found with this number >> " + id_ki.ToString());
}
}
}
con.Close();
}
}
MyConnection.Close();
}
}
catch
{
}
}
}