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.我做错了什么或有没有其他方法可以做到这一点?
答案 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
}