将SQL代码转换为Razor格式
本文关键字:Razor 格式 转换 SQL 代码 | 更新日期: 2023-09-27 18:26:26
我正试图将一些旧的C#代码翻译成访问数据库的WebMatrix方式,但我很吃力。有人能帮帮我吗?
private static string connectionString = "Data Source=ASHIT''SQLEXPRESS;Initial Catalog=amit;Integrated Security=True";
public static List<Item> method(DateTime start, DateTime end)
{
List<Item> events = new List<Item>();
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("SELECT event_id, description, title, event_start, event_end FROM event where event_start>=@start AND event_end<=@end", con);
cmd.Parameters.AddWithValue("@start", start);
cmd.Parameters.AddWithValue("@end", end);
using (con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
//perform functions
}
}
return events;
}
到目前为止,我有这么多,我无法完成"使用"这一行——我应该从这里去哪里?
public static List<Item> method(DateTime start, DateTime end)
{
List<Item> events = new List<Item>();
var db = Database.Open("plan");
var result = db.Query("SELECT event_id, description, title, event_start, event_end FROM event where event_start>= "+ start + " AND event_end<= "+ @end);
//not sure what to do from here
using (con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
//perform functions
}
}
return events;
}
我从未使用过WebMatrix的数据库助手,但根据文档,您应该能够执行以下操作:
foreach(var record in result)
{
// Perform functions
}
再次查看文档,看起来db.Query
将返回一个IEnumerable<Object>
,因此除非您将其更改为(仅限C#4):,否则上面的代码将不起作用
IEnumerable<dynamic> result = db.Query("SELECT event_id, description, title, event_start, event_end FROM event where event_start>= "+ start + " AND event_end<= "+ @end);
基于这里的示例,这可能不是必要的。