2016-03-15 1 views
0

J'essaie d'éviter de remplir une table et d'utiliser plusieurs requêtes et instructions pour sélectionner un ID spécifique représentant un Holiday à partir d'un DataGridView.Utilisation de plusieurs paramètres après WHERE dans la requête SELECT

Est-ce que j'essaie de faire même possible?

Le code que j'ai jusqu'à présent est la suivante:

string HolidayIDQuery = "SELECT ID FROM [Holiday] WHERE [email protected] + [email protected] + [email protected]"; 
OleDbCommand GetHolID = new OleDbCommand(HolidayIDQuery, conn); 
GetHolID.Parameters.AddWithValue("@PayrollNo", GotPayroll); 
GetHolID.Parameters.AddWithValue("@StartDate", OleDbType.Date).Value = Convert.ToDateTime(dataGridView1.Rows[LineIndex].Cells[1].Value); 
GetHolID.Parameters.AddWithValue("@EndDate", OleDbType.Date).Value = Convert.ToDateTime(dataGridView1.Rows[LineIndex].Cells[2].Value); 
int HolID = Convert.ToInt32(GetHolID.ExecuteScalar()); 

Je reçois cette erreur sur la ligne de fond.

Exception lancée: 'System.Data.OleDb.OleDbException' dans System.Data.dll

Informations complémentaires: incompatibilité de type de données dans l'expression de critères.

+1

Utiliser 'et' au lieu de' '+! –

+1

'+' n'est pas la même chose que 'AND' – user1666620

Répondre

4

Vous pouvez utiliser AND dans votre WHERE clause:

WHERE [email protected] AND [email protected] AND [email protected];

Vous pourriez également essayer un tutoriel SQL: https://www.google.com/webhp?q=sql%20tutorial

+0

Je ne sais pas pourquoi cela a été downvoted - le downvoter peut-il expliquer? – user1666620

+0

Salut à tous! Je ne peux pas croire que je n'ai pas essayé ça! Merci! EDIT: Je vais marquer cela comme une réponse dès que je le peux – Josh