Как получить записи из 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
}