0
IQClient client = Intuit.QuickBase.Client.QuickBase.Login("username", "pwd");
IQApplication app = client.Connect(applicationId, token);
Intuit.QuickBase.Client.IQTable rtable = app.GetTable(sTableID);`

asp.netでWebアプリケーションを作成しています。GridViewにデータを入力するには、クイックベースからデータを取得する必要があります。Quickbase APIを使用しています。上記のコードはテーブルを取得しますが、レコード値は常に0です。何か間違ったことをしていますか、それとも他の方法がありますか?

4

1 に答える 1

1

テーブル内のすべてのレコードを取得するには、次のサイトの例に従うことができます: https ://code.intuit.com/sf/wiki/do/viewPage/projects.quickbase_c_sdk/wiki/HomePage 。

using System;
using Intuit.QuickBase.Client;

namespace MyProgram.QB.Interaction
{
    class MyApplication
    {
        static void Main(string[] args)
        {
            var client = QuickBase.Client.QuickBase.Login("your_QB_username", "your_QB_password");
            var application = client.Connect("your_app_dbid", "your_app_token");
            var table = application.GetTable("your_table_dbid");
            table.Query();

            foreach(var record in table.Records)
            {
               Console.WriteLine(record["your_column_heading"]);
            }
            client.Logout();
        }
    }
}

すでに構築されているC#APIを使用して特定のクエリを実行するには、次のようにします。

var querystring1 = new QueryStrings(FieldID,ComparisonOperator.GTE,value,LogicalOperator.AND);
var querystring2 = new QueryStrings(FieldID, ComparisonOperator.XEX, value, LogicalOperator.NONE);

それから

    var query = new Query();
query.Add(querystring1);
query.Add(querystring2);
table.Query(query, new[] { 1,2,3,4}, new[] { 1,2});

2番目のパラメーターは必要な列のフィールドIDであり、3番目のパラメーターはレコードを並べ替えるフィールドIDです。

あなたの場合、ループを実行して、すべてのレコードをコレクションに追加します。次に、LINQまたは列見出しだけを使用して、すべてのレコードをループすることができます。

これは、特定のデータを取得するために私が行った方法です。

foreach(var record in table.Records)
            {
                var row = new String[8];
                row[0] = record["Column Name"];
                row[1] = record["Column Name"];
                row[2] = record["Column Name"];
                row[3] = record["Column Name"];
                row[4] = record["Column Name"];
                row[5] = record["Column Name"];
                row[6] = record["Column Name"];
                row[7] = record["Column Name"];
                list.Add(row);//This is a List<string[]> collection. But use what you want
            }
于 2012-08-21T12:31:50.367 に答える