我有2个问题,有点相关:
1)。如何将参数值传递给限制?可能吗 ?
我试过这个:
log.CommandText = "SELECT * from log order by date desc limit ?param1";
但它不起作用,因为参数传递如下:“2”。
解决:
log.CommandText = String.Format("SELECT * from log order by date desc limit {0}, yourIntNumber)
2)。我可以将上面查询的输出保存在C#中的一个变量中吗? 我尝试过类似的东西..但是日志不包含所有内容..
while (Reader.Read())
{
for (int i = 0; i < Convert.ToInt16(lognr); i++)
{
logs = logs + (Reader.GetValue(i).ToString());
}
}
答案 0 :(得分:0)
第一次补习: -
您可以使用Top关键字,例如: - 对于MSSQL(Microsoft SQL)
Select TOP 3 * From Table_name
对于MYSQL
Select * From Table_name LIMIT 3
以上将返回前3行。
关于第二个问题,
while (Reader.Read())
{
for (int i = 0; i < Convert.ToInt16(lognr); i++)
{
logs = logs + (Reader.GetValue(i).ToString());
}
}
}
此代码正在检查条件Convert.ToInt16(lognr),这就是它没有返回所有内容的原因。
希望以上信息可以帮助您:)
答案 1 :(得分:0)
1)。如何将参数值传递给限制?有可能吗?
我试过这个:
log.CommandText = "SELECT * from log order by date desc limit ?param1";
但它不起作用,因为参数传递如下:“2”。
解决:
log.CommandText = String.Format("SELECT * from log order by date desc limit {0}, yourIntNumber)
2)。我可以将上面查询的输出保存在C#中的一个变量中吗?我尝试过类似的东西..但是日志不包含所有内容..
while (Reader.Read())
{
for (int i = 0; i < Convert.ToInt16(lognr); i++)
{
logs = logs + (Reader.GetValue(i).ToString());
}
}
解决:
log.CommandText = String.Format("SELECT * from log order by date desc limit {0}", lognr); //the output has 3 columns and several rows.
Reader = log.ExecuteReader();
int i = 0;
while (Reader.Read())
{
logs = logs + "\r\n" + Reader.GetValue(0).ToString() + " " + Reader.GetValue(1).ToString() + " "+ " " + Reader.GetValue(2).ToString();
i++;
}