Je crée une application de bureau en C# où mon code est:données non transférer de la zone de texte pour interroger
private void btnLogin_Click(object sender, EventArgs e)
{
if (clsFunctions.recordExist("SELECT AtNumConstructorID, TxtConstructorName AS Fullname FROM tblConstructorDetails WHERE txtUserName = '" + txtUserName.Text + "' AND TxtPassword LIKE '" + txtPassword.Text + "' ", "tblConstructorDetails") == true)
{
clsVariables._sTimeLogin = DateTime.Now.ToLongTimeString();//recording the time of login in the CES
long totalRow = 0;
//Set the Data Adapter
OleDbDataAdapter da = new OleDbDataAdapter("select AtNumConstructorID, TxtConstructorName AS Fullname, tblConstructorDetails.txtUserName FROM tblConstructorDetails WHERE txtUserName =" + txtUserName.Text, clsConnections._olbedbCN);
DataSet ds = new DataSet(); // creating a dataset to enter the values in the dataadapter
da.Fill(ds, "tblConstructorDetails");
totalRow = ds.Tables["tblConstructorDetails"].Rows.Count - 1;
clsVariables._sContId = Convert.ToInt32(ds.Tables["tblConstructorDetails"].Rows[0].ItemArray.GetValue(0));
clsVariables._sConstructor = ds.Tables["tblConstructorDetails"].Rows[0].ItemArray.GetValue(1).ToString();
clsVariables._sUserID = ds.Tables["tblConstructorDetails"].Rows[0].ItemArray.GetValue(2).ToString();
clsUserLogs.RecordLogin(clsVariables._sTimeLogin, clsVariables._sContId);
clsApplication._boolAPP_CONNECTED = true;
this.Close();
}
}
Note: clsFunctions: Une classe où toutes les fonctions communes sont écrites recordexist: fonction qui renvoie true si un enregistrement est disponible.
Pour recordexist, je fournis une requête. les données de la zone de texte est le transfert pas à la requête et je peux faire, pourquoi cela se produit ... S'il vous plaît aider SOS ...
Vous effectuez une comparaison 'like' sur le mot de passe? WTF? Si quelqu'un entre un «%», il pourra se connecter comme n'importe quel utilisateur. –
ce code est faux pour tant de raisons. aucun sql paramétré, aucun enregistrement de données nulles, etc etc – RPM1984
@klausbyskov: c'était juste un code démo que j'ai essayé s'il pouvait fonctionner avec% caractères .... –