Je rencontre une erreur convserion pour la base de données en utilisant SQL dans Visual Studio..net C# chaîne sql à date erreur de conversion
La base de données que j'utilise est une base de données SQL Server normale. Il me est donné comme ma mission.
C'est ma méthode de requête est mon webservice
[WebMethod]
public bool search(string ddate, string dairport, string aairport, string seat)
{
int seat2 = Convert.ToInt32(seat);
DateTime date = Convert.ToDateTime(ddate);
String query1 = "SELECT * FROM Flight_Schedule S WHERE S.departure_date = '24/09/2011'";
using (SqlConnection connect = new SqlConnection(conn))
{
SqlCommand cmd = new SqlCommand(query1, connect);
connect.Open();
SqlDataReader result = cmd.ExecuteReader();
try
{
if (result.Read())
{
return true;
}
finally
{
result.Close();
connect.Close();
connect.Dispose();
}
return false;
}
}
Il n'y a pas de problème avec les requêtes normales comme:
"SELECT * FROM Flight_Schedule S WHERE S.origin_airport_code = '" + dairport + "'";
Erreur:
System.Data.SqlClient.SqlException: Conversion failed when converting date and/or time from character string.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.HasMoreRows()
at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
at System.Data.SqlClient.SqlDataReader.Read()
at AirportService.AirportServices.search(String ddate, String dairport, String aairport, String seat) in C:\Users\XXXXX\Documents\Visual Studio 2010\Projects\WebService2\AirportService\AirportServices.asmx.cs:line 47
Votre "requête de la normale" (deuxième exemple) est juste RIPE un abus ... qui est une requête MORTEL. Je pourrais tuer votre serveur avec cette méthode accessible sur le Web. –
vérifiez le format de votre date – Boomer
margra gravell c'est une tâche scolaire que personne ne tuerait. la valeur '24/09/2011 'est copiée de la base de données. – user904406