用winfrom写一个 程序有两个sqlserver数据库类型的数据库a库和b库a库有t表b库有k表t表和k都有编码和值字段并且编码互为外键。 如果t表和k表的编码相等就返回t表和k表的值
以下是用WinForm写的程序代码:
首先需要在Form1.cs中添加以下命名空间:
using System.Data.SqlClient;
接着在Form1类中定义两个SqlConnection对象,分别连接a库和b库:
SqlConnection connA = new SqlConnection("Data Source=服务器名;Initial Catalog=a库名;Integrated Security=True"); SqlConnection connB = new SqlConnection("Data Source=服务器名;Initial Catalog=b库名;Integrated Security=True");
然后在Form1_Load事件中编写代码,连接数据库并查询数据:
private void Form1_Load(object sender, EventArgs e) { connA.Open(); connB.Open();
SqlCommand cmdA = new SqlCommand("SELECT t.编码, t.值, k.值 FROM t INNER JOIN k ON t.编码 = k.编码", connA);
SqlCommand cmdB = new SqlCommand("SELECT k.编码, t.值, k.值 FROM t INNER JOIN k ON t.编码 = k.编码", connB);
SqlDataReader readerA = cmdA.ExecuteReader();
SqlDataReader readerB = cmdB.ExecuteReader();
while (readerA.Read())
{
if (readerA.GetString(0) == readerA.GetString(2))
{
string valueA = readerA.GetString(1);
string valueB = readerA.GetString(2);
listBox1.Items.Add(valueA + " - " + valueB);
}
}
while (readerB.Read())
{
if (readerB.GetString(0) == readerB.GetString(2))
{
string valueA = readerB.GetString(1);
string valueB = readerB.GetString(2);
listBox1.Items.Add(valueA + " - " + valueB);
}
}
readerA.Close();
readerB.Close();
connA.Close();
connB.Close();
}
以上代码中,先通过SqlCommand对象执行SQL语句查询t表和k表中的数据,并通过SqlDataReader对象读取查询结果。然后通过if语句判断编码是否相等,如果相等就将值添加到listBox1控件中。最后关闭SqlDataReader和SqlConnection对象。
在Form1.cs中添加一个listBox1控件,用于显示查询结果。
运行程序,即可看到t表和k表中编码相等的值
原文地址: https://www.cveoy.top/t/topic/fFSo 著作权归作者所有。请勿转载和采集!