我的代码如下:
namespace EntityDAO
{
public static class StudentDAO
{
public static Boolean AddStudent(StudentDTO oDto)
{
string str =System.Configuration.ConfigurationManager.AppSettings["myconn"];
SqlConnection oconnection = new SqlConnection(str);
oconnection.Open();
try
{
string addstring = "insert into STUDENT(ID,NAME)values('"
+ oDto.ID + "','"
+ oDto.NAME + "')";
SqlCommand ocommand = new SqlCommand(addstring,oconnection);
ocommand.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
oconnection.Close();
}
但是当我运行此程序时,出现了一条错误消息,oconnection.Open();
的错误消息和消息为'InvalidOperationException'(Instance failure)
。我已多次尝试解决此问题,但我没有克服这个问题。所以,任何人都可以帮助我。
答案 0 :(得分:0)
以下内容并非建议作为您问题的完整解决方案,但应该帮助您解决问题:
namespace EntityDAO
{
public static class StudentDAO
{
public static Boolean AddStudent(StudentDTO oDto)
{
var str = ConfigurationManager.AppSettings["myconn"];
using (var oconnection = new SqlConnection(str))
{
oconnection.Open();
try
{
var addstring = string.Format(
"insert into STUDENT(ID,NAME)values('{0}','{1}')", oDto.ID, oDto.NAME);
using (var ocommand = new SqlCommand(addstring, oconnection))
{
ocommand.ExecuteNonQuery();
}
return true;
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
return false;
}
}
}
}
}
不要隐藏自己的异常。即使此代码的调用者想要true或false,也要确保记录异常的详细信息。
另外,AYK所说的SQL注入。我输入的是CW,所以如果有人比我有更多的时间,他们应该随时编辑以使用参数。