0

関連する2つの質問があります:

1).パラメーターの値を limit に渡すにはどうすればよいですか? 出来ますか ?

私はこれで試しました:

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# の 1 つの変数に保存できますか? 私はこのようなことを試しました..しかし、ログにはすべてが含まれていません..

                while (Reader.Read())
                {
                    for (int i = 0; i < Convert.ToInt16(lognr); i++)
                    {

                        logs = logs + (Reader.GetValue(i).ToString());  
                    }

                }
4

2 に答える 2

0

最初の質問について:-

たとえば、Top キーワードを使用できます:- MSSQL (Microsoft SQL) の場合

Select TOP 3 * From Table_name

MYSQL の場合

Select * From Table_name LIMIT 3

上記は上位 3 行を返します。

2 番目の質問については、

while (Reader.Read())
 {
      for (int i = 0; i < Convert.ToInt16(lognr); i++)
       {

        logs = logs + (Reader.GetValue(i).ToString());  
        }

   }
}

このコードは条件 Convert.ToInt16(lognr) をチェックしているため、すべてが返されるわけではありません。

上記の情報がお役に立てば幸いです:)

于 2012-07-04T17:32:00.513 に答える
0

1).パラメーターの値を limit に渡すにはどうすればよいですか? 出来ますか ?

私はこれで試しました:

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# の 1 つの変数に保存できますか? 私はこのようなことを試しました..しかし、ログにはすべてが含まれていません..

        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++;
}
于 2012-07-04T18:49:02.177 に答える