我在写代码执行数据库插入操作的时候竟然不可以,出现错误的提示为sql_str超出范围!
不知道是什么意思,把数据库执行语句直接拷贝到查询分析器里面就可以直接执行插入操作!我查了好久,不知道原因,请大家相告.
try
{
OleDbConnection conn=new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
string sql_str="insert into diarybook (datea,weekday,weather,title,body) values ('"+DateTime.Now.Date+"','"+DateTime.Now.DayOfWeek+"','"+weather.SelectedValue+"','"+title.Text+"','"+content.Text+"')"; OleDbCommand comm=new OleDbCommand(sql_str,conn);
conn.Open();
comm.ExecuteNonQuery();
Msg.Text="添加日记成功";
conn.Close();
}
catch(Exception ee)
{
//Exception information
Msg.Text="无法添加日记!";
}
不知道是什么意思,把数据库执行语句直接拷贝到查询分析器里面就可以直接执行插入操作!我查了好久,不知道原因,请大家相告.
try
{
OleDbConnection conn=new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
string sql_str="insert into diarybook (datea,weekday,weather,title,body) values ('"+DateTime.Now.Date+"','"+DateTime.Now.DayOfWeek+"','"+weather.SelectedValue+"','"+title.Text+"','"+content.Text+"')"; OleDbCommand comm=new OleDbCommand(sql_str,conn);
conn.Open();
comm.ExecuteNonQuery();
Msg.Text="添加日记成功";
conn.Close();
}
catch(Exception ee)
{
//Exception information
Msg.Text="无法添加日记!";
}
可能是这里,try =>
string sql_str="insert into diarybook (datea,weekday,weather,title,body) values ('"+DateTime.Now.Date.ToString()+"','"+Convert.ToInt32(DateTime.Now.DayOfWeek).ToString()+"','"+weather.SelectedValue+"','"+title.Text+"','"+content.Text+"')";
我不懂为什么需要转换一下.在什么时候需要转换?
<appSettings>
<add key="ConnectionString" value="provider=microsoft.jet.oledb.4.0;data source=db\diary.mdb")></add>
</appSettings>正确的是怎么写?
我这样的写法,程序就会在系统文件夹下找数据库!
右键属性,添加个everyone的写入的权限。