以下是用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表中编码相等的值

用winfrom写一个 程序有两个sqlserver数据库类型的数据库a库和b库a库有t表b库有k表t表和k都有编码和值字段并且编码互为外键。 如果t表和k表的编码相等就返回t表和k表的值

原文地址: https://www.cveoy.top/t/topic/fFSo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录