0

以下のクエリを実行し、結果を 1 行ずつ div に返すことができるようにしたいと考えています。結果は、別のメソッドに渡して div に表示するハッシュテーブルに追加されます。

配列 arrayOfQueries[0] の最初のクエリは、複数の行を返すことができます。

  1. この配列 --- arrayOfQueries[0] のクエリに対して返される複数の行を処理するには、これをどのように記述すればよいでしょうか。つまり、複数の行を過酷なテーブルに格納できるようにしたい、または stringbuilder オブジェクトを使用する必要があるかもしれません。

  2. ハッシュテーブルの内容を div に表示するにはどうすればよいですか。

    public Hashtable DisplayResultsToUsers(int genJobId)
    {
        Hashtable myHt = new Hashtable();
        try
        {
            string[] arrayOfQueries = new string[4];
            arrayOfQueries[0] = "select generic, customernumber, productcode from u_generic_data where row_status = 2 and generic_job_id =" + genJobId;
            arrayOfQueries[1] = "select count(*) from u_generic_data where row_status = 2 and generic_job_id =" + genJobId;
            arrayOfQueries[2] = "select count(*) from u_generic_data where row_status = 1 and generic_job_id =" + genJobId;
            arrayOfQueries[3] = "select count(*) from u_generic_data where row_status = 0 and generic_job_id =" + genJobId;
    
            string connect = ConfigurationManager.ConnectionStrings["myconnect"].ConnectionString;
    
            using (OdbcConnection resConnect = new OdbcConnection(connect))
            {
                string sqlStmt = string.Empty;
                string queryResult = string.Empty;
                int count = 0;
                OdbcCommand dbCmd = new OdbcCommand();
                dbCmd.Connection = resConnect;
                resConnect.Open();
    
                foreach (string s in arrayOfQueries)
                {
                    dbCmd.CommandText = s;
                    queryResult =  Convert.ToString(dbCmd.ExecuteScalar());
                    count = count + 1;
                    myHt.Add(count, queryResult);
                }
    
                resConnect.Close();
            }
    
        }
        catch (Exception ex)
        {
    
    
        }
    
        return myHt;
    
4

1 に答える 1

0

dbCmd.ExecuteScalar()などのクエリでは機能しませんselect generic, customernumber, productcode from u_generic_data where row_status = 2 and generic_job_id =" + genJobIddbCmd.ExecuteReader()これらの列を取得するには、または他のオーバーロード を行う必要があります。クエリExecuteScalar()には問題ありません。select count(*)

于 2013-07-17T18:45:11.700 に答える