如何将sql查询结果填充到C#Datagridviewer中

如何将sql查询结果填充到C#Datagridviewer中,c#,sql,C#,Sql,更新: 这是史蒂夫的回答 另外,需要在我的连接字符串中包含:integratedsecurity=SSPI解决了这个问题。 非常感谢大家的帮助 我是个新手,这是我的第一个项目。 该代码用于查询sql server表并将结果返回到windows窗体上的datagridviewer中。 表单编译时没有错误,只是显示一个空白的datagridviewer 有人能告诉我我做错了什么吗? 我已经检查了服务器名、数据库名等,它们都是正确的 using System.Drawing; using System

更新: 这是史蒂夫的回答 另外,需要在我的连接字符串中包含:integratedsecurity=SSPI解决了这个问题。 非常感谢大家的帮助

我是个新手,这是我的第一个项目。 该代码用于查询sql server表并将结果返回到windows窗体上的datagridviewer中。 表单编译时没有错误,只是显示一个空白的datagridviewer

有人能告诉我我做错了什么吗? 我已经检查了服务器名、数据库名等,它们都是正确的

using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using System;
using System.Data.SqlClient; //For SQL Connection


namespace Reference_Table_Updater
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


    void GetList()
    {

        String strConnection = "server;" +
                   "Database='Scratchpad';";

        SqlConnection con = new SqlConnection(strConnection);

        SqlCommand sqlCmd = new SqlCommand();
        sqlCmd.Connection = con;
        sqlCmd.CommandType = CommandType.Text;
        sqlCmd.CommandText = "Select * from dbo.UPDATE_Test";
        SqlDataAdapter sqlDataAdap = new SqlDataAdapter(sqlCmd);

        DataTable dtRecord = new DataTable();
        sqlDataAdap.Fill(dtRecord);
        dataGridView1.DataSource = dtRecord;

    }

    private void Form1_Load()
    {
        GetList();
    }




}



}

这里您需要使用用户和密码
String strConnection=“server;”“+”Database='Scratchpad';”如以下示例所示:

“服务器=本地主机;用户id=根;密码=;数据库=草稿行”或您正在使用windows自动验证?

表单加载不正确。可能您已经手动添加了它,但从未调用过它。当然,网格没有填充

要调用表单加载,需要将其绑定到加载事件

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.Load += Form_Load;    
    }
    private void Form_Load(object sender, EventArgs e)
    {
        GetList();
    }
当然,将事件处理程序绑定到事件通常是使用表单设计器完成的,双击要处理的事件。(因此不需要在表单构造函数中编写绑定)


现在,应该调用GetList,如果在那里出现错误,应该引发异常。GetList代码似乎是正确的,除非connectionstring或数据库表有问题。

是否尝试调用
dataGridView1.Refresh()分配数据源后,代码似乎是正确的。然而,connectionstring似乎是假的,在这种形式下它不应该工作,但是在执行Fill方法时应该有一个错误。真正的连接字符串是什么?是的,没有区别。字符串strConnection=“server=uk-DEV-dtwh-01\\WH02;”“+”Database='Scratchpad';”;我一直用\\windows auth在服务器名中转义了\是的,请查看原始帖子顶部的更新。干杯。好的,这已经有进展了,但正在抛出附加信息:用户“”的登录失败。我正在使用windows身份验证,所以有点困惑。如果使用windows身份验证,则不应提供用户名和密码。“Integrated Security=SSPI”;是但不是username and password.ConnectionStrings.com或创建一个UDL文件并使用它创建一个连接字符串,然后将UDL文件作为文本文件读取。