![]() |
VOOZH | about |
The CData Cmdlets for Quickbase are standard PowerShell cmdlets that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time and bidirectional access to Quickbase.
The Cmdlets are not only a PowerShell interface to Quickbase, but also an SQL interface; this tutorial shows how to use both to create, retrieve, update, and delete Quickbase data. We also show examples of the ADO.NET equivalent, which is possible with the CData ADO.NET Provider for Quickbase. To access Quickbase data from other .NET applications, like LINQPad, use the CData ADO.NET Provider for Quickbase.
Once you have acquired the necessary connection properties, accessing Quickbase data in PowerShell can be enabled in three steps.
To authenticate with user credentials, specify the following connection properties:
To authenticate with a user token, specify the following connection properties:
Install the module:
Install-Module QuickBaseCmdlets
Connect:
$quickbase = Connect-QuickBase -User "$User" -Password "$Password" -Domain "$Domain" -ApplicationToken "$ApplicationToken"
Search for and retrieve data:
$column2 = "100" $sampletable_1 = Select-QuickBase -Connection $quickbase -Table "SampleTable_1" -Where "Column2 = `'$Column2`'" $sampletable_1
You can also use the Invoke-QuickBase cmdlet to execute SQL commands:
$sampletable_1 = Invoke-QuickBase -Connection $quickbase -Query 'SELECT * FROM SampleTable_1 WHERE Column2 = @Column2' -Params @{'@Column2'='100'}
Load the provider's assembly:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Quickbase\lib\System.Data.CData.QuickBase.dll")
Connect to Quickbase:
$conn= New-Object System.Data.CData.QuickBase.QuickBaseConnection("[email protected];Password=password;Domain=myinstance.quickbase.com;ApplicationToken=bwkxrb5da2wn57bzfh9xn24")
$conn.Open()
Instantiate the QuickBaseDataAdapter, execute an SQL query, and output the results:
$sql="SELECT Id, Column1 from SampleTable_1"
$da= New-Object System.Data.CData.QuickBase.QuickBaseDataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach {
Write-Host $_.id $_.column1
}
Update-QuickBase -Connection $QuickBase -Columns @('Id','Column1') -Values @('MyId', 'MyColumn1') -Table SampleTable_1 -Id "MyId"
$cmd = New-Object System.Data.CData.QuickBase.QuickBaseCommand("UPDATE SampleTable_1 SET Column2='100' WHERE Id = @myId", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.QuickBase.QuickBaseParameter("@myId","10456255-0015501366")))
$cmd.ExecuteNonQuery()
Add-QuickBase -Connection $QuickBase -Table SampleTable_1 -Columns @("Id", "Column1") -Values @("MyId", "MyColumn1")
$cmd = New-Object System.Data.CData.QuickBase.QuickBaseCommand("INSERT INTO SampleTable_1 (Column2) VALUES (@myColumn2)", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.QuickBase.QuickBaseParameter("@myColumn2","100")))
$cmd.ExecuteNonQuery()
Remove-QuickBase -Connection $QuickBase -Table "SampleTable_1" -Id "MyId"
$cmd = New-Object System.Data.CData.QuickBase.QuickBaseCommand("DELETE FROM SampleTable_1 WHERE Id=@myId", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.QuickBase.QuickBaseParameter("@myId","001d000000YBRseAAH")))
$cmd.ExecuteNonQuery()
CodeProject
Download a free trial of the Quickbase Data Provider to get started:
Download NowLearn more:
👁 Quickbase IconRapidly create and deploy powerful .NET applications that integrate with Quickbase.