に互換性のない私は、これはどのような私ですデータ型varchar型とvarchar型は、私はアプリでC#でWebアプリケーションを作成していモジュロ演算子C#の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;
}
}
トレーニング番号を見つけるためのWebサービスを作成しています今まで行っていたが、私は、Webサービスを実行すると、私はエラーに
System.Data.SqlClient.SqlExceptionを取得しています:データ型varchar型とvarchar はモジュロ演算子では互換性がありません。 Z中mvcerp2.newpayment.saverecd(文字列の合計、文字列、日付、文字列 utrno、文字列のmodeofpayment、文字列transferdate、文字列のトレーナー、 文字列typeofadj)で
:\ mvcerp2 \ mvcerp2 \ newpayment.asmx.cs:ライン88
とSqlDataReader dr = cmd.ExecuteReader();
これは、この問題を取り除くためにどのように88
私のラインである??
基本的に、そのようなSQLの構築をやめてください。代わりにパラメータ化されたSQLを使用してください。現在はアポストロフィが多すぎますが、パラメータ化されたSQLを使用した場合、*アポストロフィはありません。パラメータがあるだけです。 –