Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用存储过程将数据从Sql Server 2008提取到windows窗体_C#_Sql Server 2008_Stored Procedures - Fatal编程技术网

C# 使用存储过程将数据从Sql Server 2008提取到windows窗体

C# 使用存储过程将数据从Sql Server 2008提取到windows窗体,c#,sql-server-2008,stored-procedures,C#,Sql Server 2008,Stored Procedures,我编写了以下存储过程,根据提供的用户名从SQLServer数据库获取数据,并将其显示在表单上 存储过程 C#代码 上面的代码告诉我一个错误,说第0行不存在。我在stackoverflow上找到了类似的文章,但没有得到满意的解决方案。有人能告诉我将数据从数据库提取到表单的正确方法,以及如何将数据提取到数据表中,然后将其提取到Textbox控件中吗?哪一行是正确的您是否出错?@Taumantis txtname update.Text=dt.Rows[0][“FirstName”].ToString

我编写了以下存储过程,根据提供的用户名从SQLServer数据库获取数据,并将其显示在表单上

存储过程

C#代码


上面的代码告诉我一个错误,说第0行不存在。我在stackoverflow上找到了类似的文章,但没有得到满意的解决方案。有人能告诉我将数据从数据库提取到表单的正确方法,以及如何将数据提取到数据表中,然后将其提取到Textbox控件中吗?

哪一行是正确的您是否出错?@Taumantis txtname update.Text=dt.Rows[0][“FirstName”].ToString();此lineafter apd.Fill dt变量为空?还是有记录?dt.Rows.Count()/dt.Count显示了什么?看起来您的SP只是不返回任何数据,我建议您分析一下数据库,看看SQL在运行什么。实际上,我很惊讶它运行时没有出现错误,因为它看起来会执行sql
EXEC Proc\u FetchClients'fred'
,它在SP名称和firstname文本之间没有空格。您还应该使用参数而不是字符串连接。@BenRobinson我执行了存储过程EXEC Proc_FetchClients'Vivek',它在Sql Server上运行良好
ALTER Procedure [dbo].[Proc_FetchClients]
@FirstName nvarchar(100)
As
--Declare @ReturnVal varchar(100)
SELECT FirstName,LastName,Email,Username,DateOfBirth,Address,PhoneNo,ClientType from Clients
where FirstName=@FirstName
RETURN
private void btnUpdate_Click(object sender, EventArgs e)
    {
        Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB", false);
        //Mainform = new Form1(Login);
        string FetchClient = "EXEC Proc_FetchClients'" + TxtUsernameUpdate + "'";
        DataTable dt = new DataTable();
        adp = new OleDbDataAdapter(FetchClient, con);
        adp.Fill(dt);

        TxtNameUpdate.Text = dt.Rows[0]["FirstName"].ToString();
        TxtClientTypeUpdate.Text = dt.Rows[0]["ClientType"].ToString();
        TxtLnameUpdate.Text = dt.Rows[0]["LastName"].ToString();
        TxtEmailUpdate.Text = dt.Rows[0]["Email"].ToString();
        TxtUsernameUpdate.Text = dt.Rows[0]["Username"].ToString();
        TxtDobUpdate.Text = dt.Rows[0]["DateOfBirth"].ToString();
        TxtAddressUpdate.Text = dt.Rows[0]["Address"].ToString();
        TxtPhoneUpdate.Text = dt.Rows[0]["PhoneNo"].ToString();


    }