Как получить записи из Quickbase в приложении asp.net?

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. Мне нужно получить данные из быстрой базы, чтобы заполнить мой GridView. Я использую Quickbase API. Приведенный выше код извлекает таблицу, но значение записей всегда равно 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});

Второй параметр - это идентификаторы полей нужных вам столбцов, а третий параметр - это идентификаторы полей, по которым сортируются записи.

В вашем случае я бы просто сделал цикл и добавил все записи в коллекцию. Тогда вы, вероятно, можете использовать 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
            }
Другие вопросы по тегам