我有一个奇怪的问题。当在数据库中执行第一个查询时,这是错误的,但是在第二次尝试中,它可以完美地工作,而不是问题所在。我首先需要运行什么?
这是操作按钮:
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(AcessoBD.ConnectionString);
try
{
con.Open();
SqlCommand cmd = new SqlCommand("con", con);
//cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM usuario";
//cmd.ExecuteNonQuery();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
MessageBox.Show(dr["usuario"].ToString());
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
类别AcessoBD
:
public class AcessoBD
{
static public String ConnectionString
{
get
{ // pega a string de conexão do web.config
return ConfigurationManager.ConnectionStrings["Conexao"].ConnectionString;
//return WebConfigurationManager.ConnectionStrings["Conexao"].ConnectionString;
}
}
}
App.config
:
<connectionStrings>
<add name="Conexao"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Base\Database.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
因为这条线:
cmd.ExecuteNonQuery();
只需将其删除。
ExcuteNonQuery
用于执行没有任何表结果的查询,例如 INSERT INTO ...
在这一行:
MessageBox.Show(dr["usuario"].ToString());
如果要从表中获取字符串,则应使用如下所示:
MessageBox.Show(dr.GetString(colIndex));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句