我用這個查詢字符串:SQL語句引起錯誤
string queryString = "SELECT email_uzivatele from Reklama where email_uzivatele like '%" + @email_uzivatele + "%'";
而且在控制檯應用程序進行測試。
當字符串是這樣的:
string queryString = "SELECT * from Reklama where email_uzivatele like '%" + @email_uzivatele + "%'";
它工作正常。但是,當我選擇這樣的特定列:
string queryString = "SELECT email_uzivatele from Reklama where email_uzivatele like '%" + @email_uzivatele + "%'";
這是行不通的,它是導致此錯誤:
System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s)
at Smart.Advertising.DatabaseLayer.AdvertDatabaseLayer.SelectByEmail(String email_uzivatele) in f:\BP\SmartAdvertising.GuiMvc\Smart.Advertising.DatabaseLayer\AdvertDatabaseLayer.cs:line 228
我不明白爲什麼....
請你可以幫我嗎?
編輯:這是我的控制檯aplication更多的代碼:
namespace ConsoleApplication1
{
class Program
{
public static void Main(string[] args)
{
AdvertDatabaseLayer.Instance.SelectByEmail("jan");
}
}
}
而此行是導致錯誤:
AdvertDatabaseLayer.Instance.SelectByEmail("jan");
這是我使用的查詢字符串數據庫層:
public List<Advert> SelectByEmail(string email_uzivatele)
{
string queryString = "SELECT email_uzivatele from Reklama where email_uzivatele like '%" + @email_uzivatele + "%'";
SqlCommand command = new SqlCommand(queryString, Connection);
command.Parameters.AddWithValue("@email_uzivatele", "");
try
{
SqlDataReader reader = command.ExecuteReader();
List<Advert> advert = new List<Advert>();
while (reader.Read())
{
Advert a = new Advert();
a.id_reklamy = int.Parse(reader[0].ToString());
a.nazev_reklamy = reader[1].ToString();
a.typ_reklamy = reader[2].ToString();
a.cena_reklamy = int.Parse(reader[3].ToString());
a.email_uzivatele = reader[4].ToString();
a.datumz = reader[5].ToString();
a.datumk = reader[6].ToString();
Console.WriteLine("email_uzivatele: " + " " + " " + a.email_uzivatele);
advert.Add(a);
}
reader.Close();
return advert;
}
catch (Exception ex)
{
chyba.zapsat_do_souboru(ex.Message);
Console.OpenStandardOutput();
Console.WriteLine(ex);
//zalogovat chybu
return null;
}
}
請發佈更多的代碼從你的控制檯應用程序。這可能是您如何閱讀輸入的問題。 – BPS
現在我編輯了我的帖子,並添加了更多來自控制檯應用程序的代碼。 –
添加的代碼似乎與您的SQL查詢沒有任何關係?!? –