为什么.net用C#往Access数据库写不进数据,但删除或读取都可以

<scriptlanguage="C#"runat="server">voidbtn(objectsender,EventArgse){stringsid=textbox... <script language="C#" runat="server">
void btn(object sender,EventArgs e)

{
string sid=textbox1.Text;
int stihao=0,flag=0; //数据库中若无数据,flag不会产生循环赋值,必须赋初值0
string ti_mulu;

string strc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = ";
strc+=Server.MapPath("student.mdb"); //使用相对路径
//C:\\Inetpub\\wwwroot\\RWdatabase\\student.mdb"; //原来的绝对路径
OleDbConnection olecon=new OleDbConnection(strc);
olecon.Open();

OleDbCommand comd = new OleDbCommand();
comd.Connection = olecon;
comd.CommandText = "select * from biao";

OleDbDataAdapter DA = new OleDbDataAdapter("select * from biao",olecon);
// DA.SelectCommand = comd;

//DA.InsertCommand = combuilder.GetInsertCommand(); //这行好象没用
// DA.UpdateCommand = combuilder.GetUpdateCommand();
//DA.DeleteCommand = combuilder.GetDeleteCommand();
//olecon.Close(); 这里不能关闭,后面还要写呢

DataSet DS = new DataSet();
DA.Fill(DS,"biao");
DataTable DT;
DataRowCollection coldrow;
DataRow drow;

DT=DS.Tables["biao"];
coldrow = DT.Rows;
for(int i=0;i<coldrow.Count;i++)
{
drow = coldrow[i];
if(Convert.ToInt32(drow[0])==Convert.ToInt32(textbox1.Text))
{stihao=Convert.ToInt32(drow[1]); flag=1; break;}
else flag=0;
}

if(flag==0) //没找到学号,要写数据
{
System.Random rnd = new System.Random();
int intrnd = rnd.Next(0,6); //产生随即题号
stihao=intrnd;

drow=DS.Tables["biao"].NewRow(); //写 (写不进去,可能数据类型不匹配)
drow[0]=Convert.ToInt32(textbox1.Text); //或=textbox1.Text
drow[1]=Convert.ToInt32(stihao);
DS.Tables["biao"].Rows.Add(drow);
DS.Tables["biao"].AcceptChanges();
OleDbCommandBuilder combuilder = new OleDbCommandBuilder(DA);
DA.Update(DS,"biao");

//删除实验,证明可以删除
comd.CommandText="delete from biao where id=7";
comd.ExecuteNonQuery();

olecon.Close();
label1.Text+="增加成功";

//写完后,出题,题号为刚产生的随即数字
ti_mulu="../test3/ti"+Convert.ToString(stihao)+".htm";
Response.Redirect(ti_mulu);
}
else //找到学号,出题,题号为数据库中的题号
{
ti_mulu="../test3/ti"+Convert.ToString(stihao)+".htm";
Response.Redirect(ti_mulu);
label1.Text+="找到学号";
}

olecon.Close();
}
</script>
</HEAD>
展开
 我来答
evenbing
2007-07-12 · 超过23用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:88.2万
展开全部
是你的数据库的文件所在的文件夹的权限没给设置好,右击数据库的文件所在的文件夹,出现文件夹属性对话框,单击“安全”选项,如果没有“安全”选项,则在控件面板中单击“文件夹选项”,选中“查看”选项,把“使用简单文件共享”的勾去掉。接着上面的步骤,在安全选项中。单击“添加”,出现选择用户和组对话框,单击“高级”,在对话框中单击“立即查找”,在底下出现很多的用户名称,选择ASPNET,单击“确定”,再单击“确定”,在安全选项的组或用户名称中可以看到刚才添加的ASPNET用户,选中这个用户名称,在底下的权限中,有读取、写入等权限,在“写入”前打勾,确定就OK。哎,打字好难啊!为你这个悬赏分为0分的回答,真不值得,哎,算了,不计较这些了。
huangyuanhai
2007-06-30 · 超过20用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:55.4万
展开全部
那说明你的连接没有错,那就可能是你的SQL语句写错了嘛.在检查一下你的insert语句写错了没有,或是执行了没有
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式