SELECT parancs futás időben

SELECT parancs futás időben
2012-12-31T15:38:53+01:00
2012-12-31T16:35:17+01:00
2022-11-27T19:40:42+01:00
laktop
Sziasztok!
Van egy MS Access boss.accdb fájl, aminek a tartalmát megjenítem, módosítom, törlök belőle, lekérdező parancsokat futtatok, stb. A lekérdező parancsokat a varázslóval és a Query Builderrel csináltam (ami létrehozott egy
bossDataSet, table1BindingSource, table1TableAdapter és egy tableAdapterManager -t a Formra
). Viszont futás időben nem tudok létrehozni és/vagy a builderrel létrehozott parancsokat pl.: (SELECT * FROM table1 WHERE felh = 'Ádám') nem tudom módosítani.

Ha meg "kézzel" próbálom mindezt leprogramozni, akkor az alábbi kódsor futása közben a
ExecuteReader: Connection property has not been initialized.
hibaüzenet fogad.

OleDbConnection myconn1 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\boss.accdb"); OleDbCommand comm1 = new OleDbCommand(); comm1.CommandText = "SELECT * FROM table1 WHERE felh = 'Ádám'"; myconn1.Open(); //myconn1.InitializeLifetimeService(); OleDbDataReader rdr = comm1.ExecuteReader(); rdr.Read(); rdr.Close(); myconn1.Close();

Mit néztem be?
Mutasd a teljes hozzászólást!
Igazából 1 sor hiányzik csak..

comm1.Connection = myconn1;
Mutasd a teljes hozzászólást!

  • Hol kerül kapcsolatba a 'myconn1' és a 'comm1'?
    Mutasd a teljes hozzászólást!
  • msdn

    OleDbCommand-od nincs rákötve a db Connection-ra..

    lsd. példa kód:
    public void ReadMyData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM Orders"; using (OleDbConnection connection = new OleDbConnection(connectionString)) { OleDbCommand command = new OleDbCommand(queryString, connection); connection.Open(); OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1)); } // always call Close when done reading. reader.Close(); } }
    Mutasd a teljes hozzászólást!
  • Igazából 1 sor hiányzik csak..

    comm1.Connection = myconn1;
    Mutasd a teljes hozzászólást!
  • Hmm .. általában ez a hibám, hogy a legegyszerűbb dolgokra nem figyelek :)

    Már csak az a kérdés, hogy egy DataGridView-et egy lekérdezés után hogyan tudok frissíteni a parancs lefuttatása után? Ha a varázslóval létrehozott keresést futtatom, akkor a DataGridView-ben csak azok a sorok jelennek meg, amik a keresési feltételt tartalmazzák. Ha a kézzel írt és futtatott parancsot használom, akkor a DataGridView nem frissül, hiába próbálom ki az Update több variációját is.
    Mutasd a teljes hozzászólást!
  • Bocsi, de a nyitókérdésedre már megkaptad a választ.
    Zárd le a topikod (törlöm/elfogadom az adott soron katt), s nyiss egy új topikot a kérdésednek.
    Ha a kézzel írt és futtatott parancsot használom, akkor a DataGridView nem frissül, hiába próbálom ki az Update több variációját is.

    Nem az update-n múlik hanem a datagrid adatforrásán, de a részleteket hagyjuk az új topikodra.
    Mutasd a teljes hozzászólást!
  • Igaza van Riha-nak, ezt lezárom. **G** megoldását fogadom el, mert ugyan Ő csak a második volt (2 perc miatt), de nem csak rávezetett a megoldásra, hanem meg is adta azt.

    Köszönöm.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd