jag har en SQL sats som jag har gjort i en dataadapter Säg att du har en textbox som heter ProjektID. Då kan du göra så här: inte riktigt så här jag menar Tror att det går att ändra sql-satsen i en dataadapter. Leta efter en property som heter typ dataadapter.selectcommand.commandtext. Hej.användning av ? i en dataAdapter
Select * from Projekt where Projekt id = ?
<code>
a.OleDbConnection1.Open()
a.OleDbDataAdapter1.Fill(a.DsProjekt1, "minaProjekt")
a.OleDbConnection1.Close()
ComboBox1.DataSource = a.DsProjekt1.Tables("minaProjekt")
ComboBox1.DisplayMember = "Projekt"
</code>
a.oleDbDataAdapter1 innehåller alltså sql-satsen med frågetecknet, men den måste ju få in värdet innan den visas i comboboxen, hur skickar jag in tex 94 så att det ersätter frågetecknet
/AndersSv: användning av ? i en dataAdapter
<code>
string id = ProjektID.Text;
string sql = "SELECT * FROM Projekt WHERE Projekt id = " + id;
.....
(kod som innan)
</code>Sv: användning av ? i en dataAdapter
SQL satsen är gömd inne i en dataadapter. Om jag hade kunnat ändra sql satsen hade jag gjort så som du sa.
/AndersSv: användning av ? i en dataAdapter
/Peter IlisSv: användning av ? i en dataAdapter
Det sköter du med commandobjektet...
Du får helt enkelt skicka med en Parameter till Parameters-egenskapen hos commandobjektet...
<code>
objCommand.CommandText = "Select * From tblTabell where id = @pID"
Dim myParam As SqlParameter = New SqlParameter("@pID", SqlType.int, 4)
myParam.Value = 94
objCommand.Parameters.Add(myParam)
</code>
Obs1: Skriver från huvudet :-) Kan bli fel då... Men principen bör bli så...
Obs2: Tror inte alla providers klarar ? som parameter... har för mig att t.ex SQL-server inte klarar det, måste ha ett @ i början...
//fredda