Btrieve Classes for .NET
Btrieve API の.NET 開発ツール

サンプルコード
| ADO.NET + Pervasive OLE DB Providerによるパフォーマンステストコード |
string connStr;
connStr = "Provider=PervasiveOLEDB.7.90;Data Source=Demodata;
Location=Demodata;Cache Authentication=False;" +
"Encrypt Password=False;Mask Password=False;
Persist Encrypted=False;Persist Security Info=False;" +
"Impersonation Level=Anonymous;Mode=ReadWrite;
Protection Level=None";
OleDbConnection conn = new OleDbConnection(connStr);
try
{
conn.Open();
string sql = "select First_Name from person";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
listBox1.Items.Add(reader["First_Name"]);
}
conn.Close();
}
catch( OleDbException e)
{
Console.WriteLine(e.ToString());
} |
| Btrieve Classes for .NETによるパフォーマンステストコード |
try
{
BtUtils.Ddf d = new BtUtils.Ddf("c:\\pvsw\\demodata");
BtUtils.Record r = d.GetRecord("person");
r.Open();
short rc = r.Read(Operation.GetFirst);
listBox1.Items.Clear();
while(rc==0)
{
listBox1.Items.Add(r["First_Name"].ToString());
rc = r.Read(Operation.GetNext);
}
r.Close();
}
catch( System.Exception er)
{
System.Diagnostics.Debug.WriteLine(er.ToString());
System.Diagnostics.Debug.WriteLine("error");
} |
| Btrieve Classes for .NETによるパフォーマンステストコード |
try
{
short rc;
int i;
listBox1.Items.Clear();
BtLib.Ddf ddf = new BtLib.Ddf("c:\\pvsw\\demodata");
BtLib.Record r = ddf.GetRecord("Person");
r.Open();
r.Index = "ID";
BtLib.Extended ex = r.GetExtended();
ex.SearchCond = "@First_Name > A";
ex.MaxRecords = 100;
ex.SkipRecords = 100;
ex.AddField("First_Name");
rc = r.Read(BtLib.Operation.GetFirst);
while(rc != 9)
{
rc = ex.Read(BtLib.Operation.GetNextExtended);
if( ex.ResultCount == 0)
break;
for(i=0; i < ex.ResultCount; i++)
{
listBox1.Items.Add(ex["First_Name"].ToString());
ex.MoveNext();
}
}
r.Close();
}
catch( System.Exception er)
{
System.Diagnostics.Debug.WriteLine(er.ToString());
} |
| LINQ サポートコードサンプル |
// // Person Accessor クラスを別途定義済みとしたサンプルコードです。 // try { BtLib.Ddf d = new BtLib.Ddf("c:\\pvsw\\demodata");
BtLib.Record r = d.GetRecord("person");
r.Open();
var query = from p in r.Query(0)
where p.First_Name == "William"
select p;
foreach (var person in query) { listBox1.Items.Add(person. First_Name + " " + person.Last_Name + " " + person.Perm_Street); } r.Close(); } catch (System.Exception er) { System.Diagnostics.Debug.WriteLine(er.ToString()); } |
| Btrieve Classes for .NETによるグリッドデータ表示 |
try
{
BtLib.Ddf ddf = new BtLib.Ddf("c:\\pvsw\\demodata");
BtLib.Record r = ddf.GetRecord("Person");
r.Open();
DataSet ds = r.GetDataSet(); // わずか1行でDataSet生成
r.Close();
dataGrid1.SetDataBinding(ds,"Person"); // グリッドにバインドします。
}
catch( System.Exception er)
{
System.Diagnostics.Debug.WriteLine(er.ToString());
}
|