Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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# DR1是一个';变量';但是像';方法'。。这_C#_Asp.net - Fatal编程技术网

C# DR1是一个';变量';但是像';方法'。。这

C# DR1是一个';变量';但是像';方法'。。这,c#,asp.net,C#,Asp.net,这是我的密码。。它表明DR1是一个变量,并被用作一种方法。有人能给我解释一下吗?我该如何修复它?我需要从数据库中获取数据并将其贴在标签上 SqlConnection sqlConnection1 = new SqlConnection("sql connection"); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Select * from request where reqNo = '" + lbl_

这是我的密码。。它表明DR1是一个变量,并被用作一种方法。有人能给我解释一下吗?我该如何修复它?我需要从数据库中获取数据并将其贴在标签上

    SqlConnection sqlConnection1 = new SqlConnection("sql connection");
    SqlCommand cmd = new SqlCommand();


    cmd.CommandText = "Select * from request where reqNo = '" + lbl_reqNoV.Text + "', sqlConnection1";
    //cmd.CommandType = CommandType.Text;
    cmd.Connection = sqlConnection1;

    sqlConnection1.Open();
    SqlDataReader DR1;
    DR1 = cmd.ExecuteReader();
    DR1.Read();

         if (DR1.HasRows)
        {
            lbl_reqNoV.Text = DR1("ReqNo");
   }

这是你的问题:

 lbl_reqNoV.Text = DR1("ReqNo");
DR1
是一个变量。但是
DR1()
使用方法调用的语法

你可能是这个意思:

lbl_reqNoV.Text = DR1["ReqNo"];
或者可能

lbl_reqNoV.Text = DR1.GetString("ReqNo");
由于出现错误,1无法将类型“object”隐式转换为“string”。存在显式转换(是否缺少转换?)E:\Planning application\Purchase\Default.aspx.cs 49 35 Purchase立即获取此错误

对于从datareader读取的值,必须使用ToString()。请参考以下代码

    SqlConnection sqlConnection1 = new SqlConnection("Data Source=[Server];Initial Catalog=MyDB;Integrated Security=True");
        SqlCommand cmd = new SqlCommand();


        cmd.CommandText = "Select * from request where reqNo = '" + lbl_reqNoV.Text + "'";
        //cmd.CommandType = CommandType.Text;
        cmd.Connection = sqlConnection1;

        sqlConnection1.Open();
        SqlDataReader DR1;
        DR1 = cmd.ExecuteReader();

        if (DR1.HasRows)
        {
            DR1.Read();
            lbl_reqNoV.Text = DR1["ReqNo"].ToString();
        }
        sqlConnection1.Close();

尝试像这样访问您的属性lbl_reqNoV.Text=DR1[“ReqNo”];仍然未尝试任何操作仍然显示错误获取相同错误?错误1无法隐式地将类型“object”转换为“string”。存在显式转换(是否缺少转换?)E:\Planning application\Purchase\Default.aspx.cs 49 35 Purchase立即获取此错误,而不考虑任何其他错误,我强烈建议您立即切换到使用参数化SQL,以关闭您的代码当前存在的SQL注入攻击漏洞。我已经尝试过了,但仍然显示出一个错误,但仍然无效。是否有更好的方法来实现此目标?@BankedenGhost:“仍然显示错误”没有告诉我们有关错误的任何信息。请尝试解释更改的内容和原因。他收到此错误错误1无法将类型“object”隐式转换为“string”。存在显式转换(是否缺少转换?)E:\Planning application\Purchase\Default.aspx.cs 49 35 Purchase现在收到此错误我的意思是您应该在回答中包含解释。“试试这个”并不是一个答案。我实际上是想通过评论部分帮助他。但由于他有更多的错误,我创建了一个代码片段供他参考。请看我现在的编辑:)@Ratheesh我已经尝试了你的建议,现在它工作了,但另一个问题出现了,它说的是正确的语法,但它是吗??“,”附近的语法不正确。源错误:第36行:sqlConnection1.Open();第37行:SqlDataReader DR1;第38行:DR1=cmd.ExecuteReader();第39行:DR1.Read();第40行: