如何在C#程序中包含这些代码
本文关键字:包含这 代码 程序 | 更新日期: 2023-09-27 18:22:49
我遇到了数据库未打开的问题,因为它显然已经打开了。
无法将文件"j:…''KAELC_DB.mdf"复制到"bin''Debug''CALC_DB.mdf"。进程无法访问文件"j:。。。''KAELC_DB.mdf',因为它是被另一个过程使用。
无法将文件"j:…''KAELC_DB_log.ldf"复制到"bin''Debug''KAELC_DB_log.ldf"。进程无法访问该文件’j:。。。''KAELC_DB_log.ldf',因为它正被另一个进程使用。
我在StackExchange上找到了一个旧问题的答案,链接到这里https://stackoverflow.com/a/3998383,由"Justin"编写,它试图解决这个问题(我在其他地方也读到"使用"是C#中最有效的编程方法之一),但我如何在代码中使用它?
我创建了一个小项目,它只允许我按下一个按钮来处理SQL语句,但我对"Justin"所指的"使用连接"的含义感到困惑。。。如何将SQL语句放入此代码中?!?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace MySqlTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Open SQL File
using (SqlConnection conn = SqlHelper.GetConn())
{
// Use the connection <<< How ?!?!?
}
}
private void button2_Click(object sender, EventArgs e)
{
//Insert Record Into SQL File
}
private void button3_Click(object sender, EventArgs e)
{
//Read Record From SQL File
}
private void button4_Click(object sender, EventArgs e)
{
//Read All Records From SQL File
}
private void button5_Click(object sender, EventArgs e)
{
//Delete Record From DQL File
}
private void button6_Click(object sender, EventArgs e)
{
//Close SQL File
}
private void button7_Click(object sender, EventArgs e)
{
//Quit
this.Close();
}
class SqlHelper
{
public static SqlConnection GetConn()
{
SqlConnection returnValue = new SqlConnection(@"Data Source=MEDESKTOP;AttachDbFilename=|DataDirectory|'SqlTestDB.mdf;Initial Catalog=MySqlDB;Integrated Security=True");
returnValue.Open();
return returnValue;
}
}
}
}
如果只想运行SQL命令,请使用SQLCommand对象。(此处为MSDN文档)
这是文章中的示例代码。。。
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(
queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}
需要注意的事项:
- 将
SqlConnection
对象与Using
块一起使用 - 使用
SqlCommand
对象 - 使用
SqlDataReader
对象 - 显式关闭
SqlConnection