C# sqlexception在c中未处理
我不知道为什么,但当我想插入图像和保存,它将是由SQLException未处理的错误C# sqlexception在c中未处理,c#,C#,我不知道为什么,但当我想插入图像和保存,它将是由SQLException未处理的错误 namespace Project { class Connection { private SqlConnection con; private string connectString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\Database1
namespace Project
{
class Connection
{
private SqlConnection con;
private string connectString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\Database1.mdf;Integrated Security=True;User Instance=True";
private DataTable dTable;
private SqlDataAdapter adapt;
private SqlDataReader read;
private SqlCommand cmd;
public Connection()
{
con = new SqlConnection(connectString);
}
public DataTable executeQuery(string query)
{
try
{
if (con.State != ConnectionState.Closed)
{
con.Close();
}
}
catch(Exception e)
{
MessageBox.Show("Error in database: "+e);
}
con.Open();
dTable = new DataTable();
adapt = new SqlDataAdapter(query, connectString);
adapt.Fill(dTable);
return dTable;
}
public void executeUpdate(string query)
{
try
{
if (con.State != ConnectionState.Closed)
{
con.Close();
}
}
catch (Exception e)
{
MessageBox.Show("Error in database: " + e);
}
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = query;
read = cmd.ExecuteReader(); // this is the error
}
}
}
插入或更新记录时需要调用cmd.ExecuteNonQuery,以选择使用cmd.ExecuteReader的数据
因此,改变这一行:
read = cmd.ExecuteReader();
为此:
int NoOfRowsInserted = cmd.ExecuteNonQuery();
详情请参阅
您还可以看到,执行查询的实际代码不在try/catch子句的范围内。@aevitas那么我应该如何处理这个ExecuteReader?有点被这个错误搞糊涂了你在执行什么查询?@EhsanSajjad con.executeUpdateINSERT到MsProduct值“+id+”、“+name+”、“+stock+”、“+prodPrice+”、“+image+”;