gpt4 book ai didi

c# - 打开数据库中的不同表

转载 作者:行者123 更新时间:2023-11-29 12:48:24 25 4
gpt4 key购买 nike

所以我在名为“MyDB”的MySQL数据库中有3个不同的表,里面的表是table1、table2、table3。这是我的代码,用于查询数据库中的 3 个表,但它不断中断,我不明白为什么。为 Google Maps Javascript API v3 创建此代码。

private static IEnumerable<HeatMapDataElement> QueryHeatMapDataFromDatabase(string reqDate, string reportType)
{
const string connectionString = "connection_credentials";
var ds = new DataSet();
var elements = new List<HeatMapDataElement>();
var conn = new MySqlConnection(connectionString);
MySqlCommand cmd;
var da = new MySqlDataAdapter();
conn.Open();
try
{
cmd = conn.CreateCommand();
cmd.CommandTimeout = 30;
cmd.CommandText =
"select RequestHour, longitude, latitude, count(requesttime) as Weight from MyDB.table1 || MyDB.table2 || MyDB.table3 where method=@ReportType and requestdate = date(@RequestDate) and longitude is not null and latitude is not null and requesthour is not null group by RequestHour, longitude, latitude";
cmd.Parameters.AddWithValue("@ReportType", reportType);
cmd.Parameters.AddWithValue("@RequestDate", reqDate);
da.SelectCommand = cmd;
da.Fill(ds);

if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
elements.AddRange(from DataRow dr in ds.Tables[0].Rows
select new HeatMapDataElement()
{
Latitude = Double.Parse(dr["latitude"].ToString()), Longitude = Double.Parse(dr["longitude"].ToString()), Hour = int.Parse(dr["RequestHour"].ToString()), Weight = int.Parse(dr["Weight"].ToString())
});
}
}
catch (Exception ex)
{
throw ex; //breaks here <-------
}
finally
{
conn.Close();
da = null;
cmd = null;
}
return elements.AsEnumerable();
}

错误是:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '|| 附近使用的正确语法。 MyDB.table2 其中 method='Table 2' 和 requestdate =' 在第 1 行

最佳答案

您混淆了 C# 代码和 SQL 代码。 AFAIK管道运算符只能在mysql中用于连接列而不是表,即使如此,默认情况下它也是禁用的,所以我认为你需要使用INNER JOIN

如果您正在读取 3 个表,您将在 3 个表之间进行内部联接,如下所示:

 select * from table1 inner join table2 on table1.key = table2.key

关于c# - 打开数据库中的不同表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25121885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com