Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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# 执行读取器没有响应_C#_C# 4.0 - Fatal编程技术网

C# 执行读取器没有响应

C# 执行读取器没有响应,c#,c#-4.0,C#,C# 4.0,我有一个php代码。这是代码,我想把它翻译成.NET,但在某些方面我遇到了一些麻烦 function processInput($conn, $MessageArray, $mobilenumber, $date, $odd) { $strSQLUSER="SELECT * FROM tbl_tiduser WHERE username='".addslashes($MessageArray[0])."' AND stat!='1' AND stat!='4'"; $result_user=

我有一个php代码。这是代码,我想把它翻译成.NET,但在某些方面我遇到了一些麻烦

function processInput($conn, $MessageArray, $mobilenumber, $date, $odd)
{

$strSQLUSER="SELECT * FROM tbl_tiduser WHERE username='".addslashes($MessageArray[0])."' AND stat!='1' AND stat!='4'";

$result_user=odbc_exec($conn,$strSQLUSER) or die("Could not connect to database");
下面是转换后的.NET代码

public class ProcessInput
{   
    private string msg_arr;
    private string MooseSeenInput(string MobileNo,string Date,string odd,params Array[] msg_arr)
    {


 SqlCommand com = new SqlCommand("SELECT * FROM tbl_tiduser WHERE username=@username AND stat!='1' AND stat!='4'", mycon);
                    com.Parameters.AddWithValue("@username",username);
                    using (SqlDataReader reader = com.ExecuteReader())

     // whats the next part need to come here ???

}
这是不完整的。我不打算编译它

private static void ReadOrderData(string connectionString)
{
    string queryString =
        "SELECT OrderID, CustomerID FROM dbo.Orders;";

    using (SqlConnection connection =
               new SqlConnection(connectionString))
    {
        SqlCommand command =
            new SqlCommand(queryString, connection);
        connection.Open();

        SqlDataReader reader = command.ExecuteReader();

        // Call Read before accessing data.
        while (reader.Read())
        {
            Console.WriteLine(String.Format("{0}, {1}",
                reader[0], reader[1]));
        }

        // Call Close when done reading.
        reader.Close();
    }
}

我会使用类似这样的方法来获取您所关注的专栏:

string username = null;
using (SqlDataReader reader = com.ExecuteReader()) {
    if (reader.read()) {
        username = (string)reader["mydbcolumnname"];
    }
    reader.Close();
}
请注意,如果您希望提取所有结果行,而不是单步遍历它们,则通常使用SqlDataAdapter来填充数据集,而不是读取器,例如:

string username;
using (SqlDataAdapter adapter = new SqlDataAdapter(com))
{
    using (DataSet ds) 
    {
        adapter.Fill(ds);
        username = (string)ds.Tables[0].Rows[0]["mycolumnname"];
    }
}

我会使用类似这样的方法来获取您所关注的专栏:

string username = null;
using (SqlDataReader reader = com.ExecuteReader()) {
    if (reader.read()) {
        username = (string)reader["mydbcolumnname"];
    }
    reader.Close();
}
请注意,如果您希望提取所有结果行,而不是单步遍历它们,则通常使用SqlDataAdapter来填充数据集,而不是读取器,例如:

string username;
using (SqlDataAdapter adapter = new SqlDataAdapter(com))
{
    using (DataSet ds) 
    {
        adapter.Fill(ds);
        username = (string)ds.Tables[0].Rows[0]["mycolumnname"];
    }
}

我很容易;我会编写一个类来反映我正在阅读的记录,即

public class User {
    public int Id {get;set;}
    public string Name {get;set;}
}
和使用:


然后你就不需要再处理命令、读卡器、参数等了。看看用户名是如何被清晰地转换成db参数的?

我很简单;我会编写一个类来反映我正在阅读的记录,即

public class User {
    public int Id {get;set;}
    public string Name {get;set;}
}
和使用:


然后你就不必再处理命令、读卡器、参数等了。看看用户名是如何被清晰地转换成db参数的?

你遇到了什么样的麻烦?你遇到了什么样的麻烦?OP是新手,如果你能解释bit就更好了。OP是新手,如果你能解释bit就更好了。在那一行之后需要使用ExecutionQuery?在该行之后,是否需要使用ExecuteOnQuery?在这里我看到了var,这是javascript吗?或者??@Learner不,那是C3。意思与User=myCon.Queryblah blahin相同我在这里看到的var是javascript吗?或者??@Learner不,那是C3。表示与User User=myCon.Queryblah-blah-blah相同