Je crée une application web en C# dans l'application je suis en train de créer un webservice pour trouver un numéro de formationLes types de données varchar et varchar sont incompatibles dans l'opérateur modulo C# service web
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public void saverecd(string total, string date, string utrno, string modeofpayment, string transferdate,string trainer, string typeofadj)
{
System.Globalization.CultureInfo enGB = new System.Globalization.CultureInfo("en-GB");
DateTime dt = Convert.ToDateTime(date, enGB);
Int64 paymentid = 0;
string dt1 = dt.ToString("yyMMdd");
string dt2 = dt1 + "0001";
paymentid = Convert.ToInt64(dt2);
SqlCommand cmd = new SqlCommand("select max(paymentid)as paymentid from finalinstructoreexpense where paymentid like ''%' "+ paymentid +" '%''", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
paymentid = paymentid + 1;
}
}
ce que je avait fait jusqu'à présent, mais quand je lance le service Web j'obtiens l'erreur
System.Data.SqlClient.SqlException: les types de données varchar et varchar sont incompatibles dans l'opérateur modulo.
à mvcerp2.newpayment.saverecd (total String, Date de String, String utrno, String modeofpayment, String transferdate, formateur String, chaîne typeofadj) en Z: \ mvcerp2 \ mvcerp2 \ newpayment.asmx.cs: ligne 88
et SqlDataReader dr = cmd.ExecuteReader();
ceci est ma ligne 88
comment se débarrasser de ce problème ??
Fondamentalement, arrêtez de créer SQL comme ça. Utilisez plutôt SQL paramétré. Actuellement, vous avez trop d'apostrophes, mais si vous utilisiez un SQL paramétré, vous n'auriez pas * a * apostrophes - vous auriez juste un paramètre. –