In this page:
SQL Database Access
csharp
// C# Database Operations
public class DatabaseScript
{
public void ReadFromDatabase()
{
// Simple query
var result = @Dataset.Query("SELECT * FROM Production WHERE Date = TODAY");
// Parameterized query
var parameters = new Dictionary<string, object>
{
{ "StartDate", DateTime.Today },
{ "EndDate", DateTime.Now }
};
var data = @Dataset.ExecuteQuery(
"SELECT * FROM Production WHERE Timestamp BETWEEN @StartDate AND @EndDate",
parameters
);
// Process results
foreach (var row in data.Rows)
{
@Tag.Production.Count = row["Count"];
@Tag.Production.Quality = row["Quality"];
}
}
public void WriteToDatabase()
{
// Insert data
@Dataset.Execute(
"INSERT INTO BatchRecords (BatchID, StartTime, Product) VALUES (@ID, @Time, @Product)",
new {
ID = @Tag.Batch.ID,
Time = DateTime.Now,
Product = @Tag.Batch.Product
}
);
// Update data
@Dataset.Execute(
"UPDATE Equipment SET RunHours = @Hours WHERE ID = @EquipID",
new {
Hours = @Tag.Motor.RunHours,
EquipID = @Tag.Motor.ID
}
);
}
}
Transaction Management
csharp
// Transaction example
public void ExecuteTransaction()
{
using (var transaction = @Dataset.BeginTransaction())
{
try
{
// Multiple operations in transaction
@Dataset.Execute("INSERT INTO Orders ...", transaction);
@Dataset.Execute("UPDATE Inventory ...", transaction);
@Dataset.Execute("INSERT INTO Audit ...", transaction);
// Commit if all successful
transaction.Commit();
}
catch (Exception ex)
{
// Rollback on error
transaction.Rollback();
@Tag.Error.Message = ex.Message;
}
}
}
In this section...
Overview
Content Tools
Tasks