C# 在SQL Server中连接两个数据库

C# 在SQL Server中连接两个数据库,c#,sql-server,C#,Sql Server,如何连接两个数据库并显示某一列与另一数据库中的另一列的组合 与文本框3中一样,我想显示此数据库的B值加上数据库2中的C值,表2如果两个数据库都存在于一台服务器中,则可以使用数据库名称作为表名称的前缀: private void button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(); con.ConnectionString = "Data Source

如何连接两个数据库并显示某一列与另一数据库中的另一列的组合


与文本框3中一样,我想显示此数据库的B值加上数据库2中的C值,表2

如果两个数据库都存在于一台服务器中,则可以使用数据库名称作为表名称的前缀:

private void button1_Click(object sender, EventArgs e)
{
        SqlConnection con = new SqlConnection();
        con.ConnectionString = "Data Source= shwn-PC\\SQLEXPRESS;Initial Catalog=database1;Integrated Security=True";

        con.Open();

        SqlCommand cmd = new SqlCommand("select * from table1 where A ='" + textBox1.Text.Trim() + "'", con);

        SqlDataReader dr = cmd.ExecuteReader();

        if (dr.HasRows)
        {
            while (dr.Read())
            {
                textBox2.Text = dr["A"].ToString();
                textBox3.Text = dr["B"].ToString();
            }
        }
        else
            MessageBox.Show("No record  >> " + textBox1.Text.ToString());
    }
}


试着用上面的方法。这只是一个示例,我用它连接了来自两个不同数据库的两个表

打开两个连接、两个数据读取器并读取值两次。旁白:请参阅。如果我放置
"'; 在
textBox1
中放下表1,整个表都会放下。你需要仔细阅读SQL注入。我想说,这并没有增加其他现有答案没有涵盖的任何内容,但我删除了我的否决票,因为它使用了一种稍微不同的技术。嗨,cybermonkey,当我开始编写此解决方案时,当时的评论不在这里。当我发布它时,它会在我面前弹出。这不是我的错!!你花了五分钟才写出那个答案?那不应该是多部分名称下解释的
db1..TableA
?是的,我想应该是,但据我记忆所及,它只使用了一个点。
SELECT a.col1, b.col2 FROM db1.TableA a
INNER JOIN db2.TableB b ON b.Id = a.LinkId
SELECT *  FROM [DB1].[dbo].[Table1],[DB2].[dbo].[Table2]