C# 执行读取器没有响应
我有一个php代码。这是代码,我想把它翻译成.NET,但在某些方面我遇到了一些麻烦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=
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相同