高手们,帮忙看看来,哪里错?

阿妖 2005-07-05 11:14:34
void Onsubmit(object sender,EventArgs arg){
if(Page.IsPostBack){
string dbconn="Provider=MicroSoft.Jet.OLEDB.4.0;Data Source="+Request.PhysicalApplicationPath+"\\messages.mdb";//建立数据库连接字符串。
string sql="select * from leavemessages";
OleDbConnection conn=new OleDbConnection(dbconn);//连接数据库。
OleDbDataAdapter command=new OleDbDataAdapter(sql,conn);
DataSet rs=new DataSet();
command.Fill(rs,"leavemessages");

DataTable table;
DataRow newRow;

table=rs.Tables["leavemessages"];
newRow=table.NewRow();
newRow["name"]=name.Text;
newRow["sex"]=sex.SelectedItem.Value;
newRow["fromwhere"]=fromwhere.Text;
newRow["homepage"]=homepage.Text;
newRow["email"]=email.Text;
newRow["titles"]=title.Text;
newRow["contents"]=content.Text;
newRow["times"]=DateTime.Now.ToString();
table.Rows.Add(newRow);

}
}
...
<asp:Button id="submit" TEXT="提 交" runat="server" onclick="Onsubmit" />
不执行!
...全文
118 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
boytomato 2005-07-05
  • 打赏
  • 举报
回复
tring dbconn="Provider=MicroSoft.Jet.OLEDB.4.0;Data Source="+Request.PhysicalApplicationPath+"\\messages.mdb";//建立数据库连接字符串。
string sql="insert into leavemessages (name,sex,fromwhere,homepage,email,titles,contents,times) values ('"+name.Text+"','"+sex.SelectedItem.Value+"','"+fromwhere.Text+"','"+homepage.Text+"','"+email.Text+"','"+title.Text+"','"+content.Text+"','"+DateTime.Now.ToString()+"')";
OleDbConnection conn=new OleDbConnection(dbconn);//连接数据库。

OleDbCommand myCommand = new OleDbCommand(sql, conn);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
conn.Close();

试试吧...
boytomato 2005-07-05
  • 打赏
  • 举报
回复
只用 OleDbCommand的 ExecuteNonQuery


public void CreateMyOleDbCommand(string myExecuteQuery, string myConnectionString)
{
OleDbConnection myConnection = new OleDbConnection(myConnectionString);
OleDbCommand myCommand = new OleDbCommand(myExecuteQuery, myConnection);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
}

boytomato 2005-07-05
  • 打赏
  • 举报
回复
你用OleDbCommand
的就行了..没有必要再用 OleDbDataAdapter
ExecuteNonQuery

阿妖 2005-07-05
  • 打赏
  • 举报
回复
我改成这样:
string dbconn="Provider=MicroSoft.Jet.OLEDB.4.0;Data Source="+Request.PhysicalApplicationPath+"\\messages.mdb";//建立数据库连接字符串。
string sql="insert into leavemessages (name,sex,fromwhere,homepage,email,titles,contents,times) values ('"+name.Text+"','"+sex.SelectedItem.Value+"','"+fromwhere.Text+"','"+homepage.Text+"','"+email.Text+"','"+title.Text+"','"+content.Text+"','"+DateTime.Now.ToString()+"')";
OleDbConnection conn=new OleDbConnection(dbconn);//连接数据库。
OleDbDataAdapter command=new OleDbDataAdapter(sql,conn);
还缺少什么语句?
boytomato 2005-07-05
  • 打赏
  • 举报
回复
public static DataSet SelectOleDbSrvRows(string myConnection, string mySelectQuery, string myTableName)
{
OleDbConnection myConn = new OleDbConnection(myConnection);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter();
myDataAdapter.SelectCommand = new OleDbCommand(mySelectQuery, myConn);
OleDbCommandBuilder cb = new OleDbCommandBuilder(myDataAdapter);

myConn.Open();

DataSet ds = new DataSet();
myDataAdapter.Fill(ds, myTableName);

//code to modify data in DataSet here

//Without the OleDbCommandBuilder this line would fail
myDataAdapter.Update(ds, myTableName);

myConn.Close();

return ds;
}

你考虑用 OleDbCommandBuilder



table=rs.Tables["leavemessages"];
newRow=table.NewRow();
newRow["name"]=name.Text;
newRow["sex"]=sex.SelectedItem.Value;
newRow["fromwhere"]=fromwhere.Text;
newRow["homepage"]=homepage.Text;
newRow["email"]=email.Text;
newRow["titles"]=title.Text;
newRow["contents"]=content.Text;
newRow["times"]=DateTime.Now.ToString();
table.Rows.Add(newRow);
只更新了现在的表,并没有更新数据库..而且,你也没有更新语句....
只用 OleDbDataAdapter.updata(table) 是不行的.

你考虑用
OleDbCommandBuilder
用它自动生成更新语句....
去然后再 加上OleDbDataAdapter.updata(table)

boytomato 2005-07-05
  • 打赏
  • 举报
回复
你说说具体错误....是数据库没更新,还是其它 的....
boytomato 2005-07-05
  • 打赏
  • 举报
回复
if(Page.IsPostBack)???
没有用吧...加上???

OleDbDataAdapter.updata(table)//加上它你才能更新表啊...

biao88482005 2005-07-05
  • 打赏
  • 举报
回复
<asp:Button id="submit" TEXT="提 交" runat="server" onclick="Onsubmit" />
这样写是不对的,onclick是执行客户端的脚本语言
要运行服务器端的应该像这样写
void Button_Click(Object Src, EventArgs E)
{

}

62,244

社区成员

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

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

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

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