Ich habe diesen Code in meinem Projekt, um eine Abfrage auszuführen und in Excel einfügen. Ich habe es derzeit in einem Projekt arbeiten (mit einer anderen Abfrage), aber jetzt versuche ich, es mit einer anderen Abfrage zu arbeiten, und es wird nicht funktionieren. Wenn ich die Abfrage in SQL Server ausführe, funktioniert es jedoch. HierAbfrage funktioniert nicht in SQLReader
ist die Abfrage:
public static string Query (DateTime startDate, DateTime endDate)
{
//string Query = "SELECT * from access";
string Query = "SELECT distinct s.first_nme + ' ' + s.last_nme as Student ,convert(Date, e.entrydate) as date ,od.u_order_id as 'Order#'";
Query = Query + " " + "FROM enrollment e";
Query = Query + " " + "join registration r on e.u_registration_id = r.u_registration_id";
Query = Query + " " + "join student s on r.u_student_id = s.u_student_id";
Query = Query + " " + "join order_pack_list opl on r.u_ord_pack_list_id = opl.u_ord_pack_list_id";
Query = Query + " " + "join product p on opl.u_product_id = p.u_product_id";
Query = Query + " " + "join order_detail od on opl.u_order_detail_id = od.u_order_detail_id";
Query = Query + " " + "where e.entrydate >= " + startDate.ToString();
Query = Query + " " + "and e.entrydate <= " + endDate.ToString();
Query = Query + " " + "and p.prod_type_cd = 'B' and opl.modify_user_id = 'STCUSA30'";
Query = Query + " " + "order by Student";
return Query;
}
Der Grund gibt es eine kommentierte oute Linie auf der Oberseite zu testen, ist - wenn ich die einfache Abfrage ausführen, wird es nicht zum Absturz bringen.
Und hier ist der Code, den ich die Daten bekommen verwenden, um (und die Abfrage ausführen), das als ein Problem auszuschließen:
DateTime startDate = DateTime.Today.AddDays(-1);
DateTime endDate = DateTime.Today;
SqlDataReader rdr = null;
try
{
// 2. Open the connection
conn.Open();
string query = Query(startDate, endDate);
// 3. Pass the connection to a command object
using (SqlCommand cmd = new SqlCommand(query, conn))
{
//
// 4. Use the connection
//
// get query results
rdr = cmd.ExecuteReader();
und stürzt auf der rdr Linie sagen,
Eine nicht behandelte Ausnahme des Typs 'System.Data.SqlClient.SqlException' in System.Data.dll
Zusätzliche Informationen aufgetreten: falsche Syntax nahe '12'.
Ich schaute online und es gibt keine Antworten, die zu meiner Situation gehören (das kann ich sagen).
Danke, das hat funktioniert. Seltsamerweise habe ich die Anführungszeichen in meiner anderen App nicht verwendet und es hat funktioniert. – djblois
Sie müssen in Ihrer anderen App Ints verwenden, für die keine Anführungszeichen erforderlich sind – MIKE