数据库的简单问题!

cwb210 2008-11-19 11:35:43
int k;
string CString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=shuju.mdb";
string SQLStr = "Insert into student Values('01010108','张和平','010101',#1985-5-14#,'浙江东阳')";
OleDbConnection MyCon = new OleDbConnection(CString);
try
{
MyCon.Open();
MessageBox.Show("已正确连接","连接正确对话框");
}
catch ( OleDbException ex)
{
MessageBox.Show(ex.Message,"连接失败对话框");
}
OleDbCommand MyCom = new OleDbCommand();
MyCom.Connection = MyCon;
MyCom.CommandType = CommandType.Text;
MyCom.CommandText = SQLStr;
k = MyCom.ExecuteNonQuery();
// 提示 未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。
MyCon.Close();


请问是什么原因?本人刚接触数据库 谢谢了
按理说是不会出错的,因为我是按照例子写的
...全文
139 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lidune 2008-11-27
  • 打赏
  • 举报
回复
sql问题
cwb210 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 niitnanfeng 的回复:]
string SQLStr = "Insert into student Values('01010108','张和平','010101',#1985-5-14#,'浙江东阳')";
你的字段呢?
[/Quote]
什么字段?
niitnanfeng 2008-11-19
  • 打赏
  • 举报
回复
string SQLStr = "Insert into student Values('01010108','张和平','010101',#1985-5-14#,'浙江东阳')";
你的字段呢?
cwb210 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wonture 的回复:]
Insert into student Values('01010108','张和平','010101',#1985-5-14#,'浙江东阳')
,#1985-5-14#,这列在数据库里是什么类型??是不是日期类型?
[/Quote]
恩 是的。
wonture 2008-11-19
  • 打赏
  • 举报
回复
Insert into student Values('01010108','张和平','010101',#1985-5-14#,'浙江东阳')
,#1985-5-14#,这列在数据库里是什么类型??是不是日期类型?
dahai99007 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 cwb210 的帖子:]
int k;
string CString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=shuju.mdb";
string SQLStr = "Insert into student Values('01010108','张和平','010101',#1985-5-14#,'浙江东阳')";
OleDbConnection MyCon = new OleDbConnection(CString);
try
{
MyCon.Open();
MessageBox.Show("已正确连接","连接正确对话框");
}
catch ( OleDbException ex)
{
MessageBox.Show(ex.Message,"连接失败对话框…
[/Quote]
另外你的MyCon.Open();
之后你应该判断下是否打开状态,再messagebox.show();
if(MyCon.State==ConnectionState.Open)
{
MessageBox.Show("已正确连接","连接正确对话框");
}
BernardSun 2008-11-19
  • 打赏
  • 举报
回复
access?
Insert into student把字段名带上
dahai99007 2008-11-19
  • 打赏
  • 举报
回复
先把你的sql语句拿到查询分析器里边试下,确定下是不是sql语句的问题。
mochencui 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 XaviChen 的回复:]
Data Sourced的路径写全没,MessageBox.Show("已正确连接","连接正确对话框"); 这句话如果执行了就说明连接没问题
还有你得写法不太好,数据库应该尽可能晚的打开,执行完要马上确保关闭,比如

try
{
OleDbCommand MyCom = new OleDbCommand();
MyCom.Connection = MyCon;
MyCom.CommandType = CommandType.Text;
MyCom.CommandText = SQLStr;
MyCon.Open();
k = MyCom.ExecuteNonQuery();

MessageBox…
[/Quote]
就如此
tgbd 2008-11-19
  • 打赏
  • 举报
回复
ACCESS的日期型字段是要注意一些细节,在CS中也是这样。
bbbbbb888888 2008-11-19
  • 打赏
  • 举报
回复
access的日期,建议都用varchar的,以前用date经常出问题.
mafgm 2008-11-19
  • 打赏
  • 举报
回复
你先在acess里执行一下你的sql语句.看看是不是有问题!我觉的可能是你的时间字段的问题!#1985-5-14#
cwb210 2008-11-19
  • 打赏
  • 举报
回复
谢谢8楼的,以后我会注意的
云飞何处 2008-11-19
  • 打赏
  • 举报
回复
Data Sourced的路径写全没,MessageBox.Show("已正确连接","连接正确对话框"); 这句话如果执行了就说明连接没问题
还有你得写法不太好,数据库应该尽可能晚的打开,执行完要马上确保关闭,比如

try
{
OleDbCommand MyCom = new OleDbCommand();
MyCom.Connection = MyCon;
MyCom.CommandType = CommandType.Text;
MyCom.CommandText = SQLStr;
MyCon.Open();
k = MyCom.ExecuteNonQuery();

MessageBox.Show("已正确连接","连接正确对话框");
}
catch ( OleDbException ex)
{
MessageBox.Show(ex.Message,"连接失败对话框");
}
finally
{
if(MyCon.Status=Status.Open)(Status是我随便写的,不知道是不是
MyCon.Close();
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧