如何从asp.net应用程序中的Quickbase获取记录?

时间:2012-05-07 04:17:04

标签: c# quickbase

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应用程序。我需要从quickbase获取数据以填充我的GridView。我正在使用Quickbase API。上面的代码检索表,但记录值始终为0.我做错了什么或有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分: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});

第二个参数是所需列的字段ID,第三个参数是用于对记录进行排序的字段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
            }