C# 如何用两个texbox输入条件去查询SQlite数据表,返回其中三列总和值和另一个例的和
时间: 2024-03-21 14:39:17 浏览: 16
你可以使用SQLiteDataAdapter和DataSet类来实现这个功能。具体步骤如下:
1. 创建一个SQLite连接对象,连接到你的数据库。
```csharp
SQLiteConnection conn = new SQLiteConnection("Data Source=yourdatabase.db");
conn.Open();
```
2. 创建一个SQL查询语句,使用两个textbox的值作为查询条件。
```csharp
string sql = "SELECT SUM(column1) + SUM(column2) + SUM(column3) AS total_sum, SUM(column4) AS another_sum FROM yourtable WHERE condition1 = @value1 AND condition2 = @value2";
```
注意,这里使用了参数化查询,以避免SQL注入攻击。
3. 创建一个SQLiteDataAdapter对象,并执行查询语句。
```csharp
SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql, conn);
adapter.SelectCommand.Parameters.AddWithValue("@value1", textbox1.Text);
adapter.SelectCommand.Parameters.AddWithValue("@value2", textbox2.Text);
DataSet ds = new DataSet();
adapter.Fill(ds);
```
4. 从DataSet中获取查询结果,即总和值和另一个列的和。
```csharp
double totalSum = Convert.ToDouble(ds.Tables[0].Rows[0]["total_sum"]);
double anotherSum = Convert.ToDouble(ds.Tables[0].Rows[0]["another_sum"]);
```
完整代码示例:
```csharp
SQLiteConnection conn = new SQLiteConnection("Data Source=yourdatabase.db");
conn.Open();
string sql = "SELECT SUM(column1) + SUM(column2) + SUM(column3) AS total_sum, SUM(column4) AS another_sum FROM yourtable WHERE condition1 = @value1 AND condition2 = @value2";
SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql, conn);
adapter.SelectCommand.Parameters.AddWithValue("@value1", textbox1.Text);
adapter.SelectCommand.Parameters.AddWithValue("@value2", textbox2.Text);
DataSet ds = new DataSet();
adapter.Fill(ds);
double totalSum = Convert.ToDouble(ds.Tables[0].Rows[0]["total_sum"]);
double anotherSum = Convert.ToDouble(ds.Tables[0].Rows[0]["another_sum"]);
conn.Close();
```