Access数据库插入记录问题

singleflower 2004-03-20 12:15:13
代码如下:
private void btnSubmit_Click(object sender, System.EventArgs e)
{
string strCustomerName=customerName.Value.Trim();
string strPassword1=Password1.Value.Trim();

string strCompanyName=companyName.Value.Trim();
string strAddress=Address.Value.Trim();
//int intZip=int.Parse(zip.Value.Trim());


int intPhone=int.Parse(phone.Value.Trim());

int intFax=int.Parse(fax.Value.Trim());
string strEmail=email.Value.Trim();

string strCompanyDo=companyDo.Value.Trim();
string strSex=null;
if (Radio1.Checked==true)
strSex=Radio1.Value;
else if (Radio2.Checked==true)
strSex=Radio2.Value;


string strInsert="insert into customer2 (Name,password,company,address,sex,phone,fax,Email,companyDo) values ('"
+strCustomerName+"','"
+strPassword1+"','"
+strCompanyName+"','"
+strAddress+"','"

+strSex+"','"
+intPhone+"','"
+intFax+"','"
+strEmail+"','"
+strCompanyDo
+"')";
string strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("database/cailian.mdb");
//string strCon="Provider=SQLOLEDB;user id=sa;password=;database=test;server=c426";
try
{
OleDbConnection myCon=new OleDbConnection(strCon);
OleDbCommand myCom=new OleDbCommand (strInsert,myCon);
myCom.CommandType = CommandType.Text;

myCon.Open();
myCom.ExecuteNonQuery();

myCon.Close();

}
catch(Exception Err)
{
string strErr="<SCRIPT language=\"";
strErr+="JavaScript\"";
strErr+=">Windows.open("+ Err.Message.ToString()+")"+"</SCRIPT>";
Response.Write(strErr);
}
}

执行以后,发现插入记录没有成功,使用调试窗口跟踪,说是INSERT 语句语法错误,但我吧数据库到入SQL上,采用注释的连接串去连SQL,插入确实成功的.那位高人指点一下,问题该怎么解决啊.
...全文
127 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
showtimenow 2004-03-20
  • 打赏
  • 举报
回复
把语句做下列修改

string strInsert="insert into [customer2] ([Name],[password],[company],[address],[sex],[phone],[fax],[Email],[companyDo]) values ('"
+strCustomerName+"','"
+strPassword1+"','"
+strCompanyName+"','"
+strAddress+"','"

+strSex+"','"
+intPhone+"','"
+intFax+"','"
+strEmail+"','"
+strCompanyDo
+"')";
samminic 2004-03-20
  • 打赏
  • 举报
回复
string strInsert="insert into customer2 (Name,password,company,address,sex,phone,fax,Email,companyDo) values ('"
+strCustomerName+"','"
+strPassword1+"','"
+strCompanyName+"','"
+strAddress+"','"

+strSex+"','"
+intPhone+"','"
+intFax+"','"
+strEmail+"','"
+strCompanyDo
+"')";
//老大们 这里怎么会有那么多 + 号呢?
为什么 定义了的string 还要加上"+string+"
stefli 2004-03-20
  • 打赏
  • 举报
回复
使用下面的方法,看看的到的连接字符串是否一样.
==========================================================

建立一个udl文件,
比如:test.udl

然后点击它,一步一步的选择,进行数据库的链接,然后测试是否连接成功。

如果成功了, 那么就用notepad(记事本)打开这个文件,就可以看见里面有你需要的连接字符串了。

刚刚测试了一下,最好用写字板打开,格式还要好点。

这时候你就可以得到链接字符串,如:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WINDOWS\ShellNew\ACCESS9.MDB;Persist Security Info=False

稍加修改,修改数据库的路径,就可以链接成功了。
singleflower 2004-03-20
  • 打赏
  • 举报
回复
我把权限已经全部开放了
webdiyer 2004-03-20
  • 打赏
  • 举报
回复
你的insert语句中的Name和password都是SQL关键字,把他们改为:[Name]和[Password]
cuike519 2004-03-20
  • 打赏
  • 举报
回复
Access一般情况下就是权限的问题,英文Access是文件数据库所以...
showtimenow 2004-03-20
  • 打赏
  • 举报
回复
可能是你的asp.net用户对database/cailian.mdb没有写权限的问题
把你的整个asp.net目录设为everyone可写,应该就可以了
singleflower 2004-03-20
  • 打赏
  • 举报
回复
问题已经解决,偶重装了OFFICE,估计是卸载AD引起的异常,偶的是2003+。NET

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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