我有一个很大的问题,从选择保存变量在MySQL中。C#写从mysql选择变量
我写了下面的代码:
string connectionstring = @"****;userid=*****;
password=***;database=***";
cnn = new MySqlConnection(connectionstring);
cnn.Open();
MySqlDataReader reader = null;
string query_date = "SELECT computer_name from wp_users where user_login = @login";
MySqlCommand command2 = new MySqlCommand(query_date, cnn);
command2.Parameters.AddWithValue("@login", metroTextBox.Text);
reader = command2.ExecuteReader();
while (reader.Read())
{
string ColumnName = (string)reader["computer_name"];
}
cnn.Close();
我尝试了很多类似的ExecuteReader,的ExecuteNonQuery,的ExecuteScalar命令。但他们都没有工作,我得到了同样的错误:
真的不知道什么是错在这里我搜索了很多,没有找到任何形式的解决方案。请帮忙。
编辑1
我只是做了你怎么写了,我这样做:
string connectionstring = @"****;userid=*****;
password=***;database=***";
cnn = new MySqlConnection(connectionstring);
cnn.Open();
MySqlDataReader reader = null;
string query_date = "SELECT computer_name from wp_users where user_login = @login";
MySqlCommand command2 = new MySqlCommand(query_date, cnn);
command2.Parameters.AddWithValue("@login", metroTextBox.Text);
DataTable table = new DataTable("ResultTable");
MySqlDataAdapter adapter = new MySqlDataAdapter(command2);
adapter.Fill(table);
// This is the important line
string result = table.Rows[0].ToString();
cnn.Close();
其相同的错误,但早另一个地方。这里发生了什么......只是不知道。 更多信息意味着英语:关键是不存在的字典
EDIT 2
最有趣的是,当我只是尝试用代码更新:
string connectionstring = @"****;userid=*****;
password=***;database=***";
cnn = new MySqlConnection(connectionstring);
cnn.Open();
MySqlDataReader reader = null;
string upd = "UPDATE w_users Set computer_name = CURRENT_DATE where user_login = @login";
MySqlCommand command2 = new MySqlCommand(upd, cnn);
command2.Parameters.AddWithValue("@login", metroTextBox.Text);
DataTable table = new DataTable("ResultTable");
SqlDataAdapter adapter = new MySqlDataAdapter(command2);
adapter.Fill(table);
cnn.Close();
这工作正常,没有任何错误只是更新我的表...什么是它的点
EDI牛逼3
我jutr尝试使用的ExecuteScalar(),仍然我有同样的错误:
你使用的是Oracles MySQL Connector吗? –
不,我只是在winforms中创建一个应用程序,并尝试连接到mysql数据库 – Michael
也许该异常的细节可以帮助你。请在这里发布堆栈跟踪和内部异常详情 –