填加一行新数据,问题.

shufa 2004-09-06 10:35:15
新手来,请大家多帮忙吧,谢谢!!

数据库access的db1.mdb
不知道是不是不程序填加的数据类型和数据库里的定义的不一样啊?>
数据库里定义了:
id -- 自动
theme -- 备注
contents -- 备注
from -- 文本
addt -- 文本
class -- 文本
我想是填加一行新数据 id 自动增加
addt和class都为空,不知道是不是可以


<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>

<script language="VB" runat="server">

Dim MyConnection As OleDbConnection

Sub Page_Load(Sender As Object, E As EventArgs)

MyConnection = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="&server.mappath("db1.mdb"))

If Not (IsPostBack)
BindGrid()
End If
End Sub

Sub AddNews_Click(Sender As Object, E As EventArgs)

Dim DS As DataSet
Dim MyCommand As OleDbCommand


If theme.Value = "" Or contents.Value = "" Or from.Value = ""

Message.InnerHtml = "错误:""title""、""姓名""或""电话""不允许使用空值"
Message.Style("color") = "red"
BindGrid()
End If

Dim InsertCmd As String = "insert into news (theme, contents, from) values (@Theme, @Contents, @From)"

MyCommand = New OleDbCommand(InsertCmd, MyConnection)

MyCommand.Parameters.Add(New OleDbParameter("@Theme", OleDbType.VarChar, 40,"theme"))
'MyCommand.Parameters("@Theme").Value = theme.Value

MyCommand.Parameters.Add(New OleDbParameter("@Contents", OleDbType.VarChar, 200,"contents"))
'MyCommand.Parameters("@Contents").Value = contents.Value

MyCommand.Parameters.Add(New OleDbParameter("@From", OleDbType.Char, 20,"from"))
'MyCommand.Parameters("@From").Value = from.Value



MyCommand.Connection.Open()


MyCommand.ExecuteNonQuery()
Message.InnerHtml = "<b>已添加记录oooookkkkkkk</b><br>" & InsertCmd.ToString()



MyCommand.Connection.Close()

BindGrid()
End Sub

Sub BindGrid()

Dim MyCommand As OleDbDataAdapter = new OleDbDataAdapter("select theme from News", MyConnection)

Dim DS As DataSet = new DataSet()
MyCommand.Fill(DS, "News")

MyDataGrid.DataSource=DS.Tables("News").DefaultView
MyDataGrid.DataBind()
End Sub

</script>

<body style="font: 10.5pt 宋体">

<form runat="server">

<h3><font face="宋体">插入数据行</font></h3>

<table width="95%">
<tr>
<td valign="top" width="40%">

<ASP:DataGrid id="MyDataGrid" runat="server"
Width="400"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="宋体"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>

</td>
<td valign="top" width="60%">

<table style="font: 9pt 宋体" width="100%">
<tr>
<td colspan="2" bgcolor="#aaaadd" style="font:10.5pt 宋体">添加新news:</td>
</tr>
<tr>
<td nowrap>title:</td>
<td><input type="text" id="theme" runat="server"></td>
</tr>
<tr>
<td nowrap>contents:</td>
<td><textarea id="contents" runat="server" rows="4" textmode="multiline"></textarea></td>
</tr>
<tr nowrap>
<td>from:</td>
<td><input type="text" id="from" runat="server">
</td>
</tr>
<tr>
<td>time:</td>
<td></td>
</tr>
<tr>
<td></td>
<td style="padding-top:15">
<input type="button" OnServerClick="AddNews_Click" value="添加" runat="server">
</td>
</tr>
<tr>
<td colspan="2" style="padding-top:15" align="center">
<span id="Message" EnableViewState="false" style="font: arial 11pt;" runat="server"/>
</td>
</tr>
</table>

</td>
</tr>
</table>

</form>

</body>
</html>
...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shufa 2004-09-06
  • 打赏
  • 举报
回复
我把from改了,之后提交数据的时候,出现以下错误:
Exception Details: System.Data.OleDb.OleDbException: 参数 @Theme 没有默认值。
shufa 2004-09-06
  • 打赏
  • 举报
回复
lupanwin(默默)
说的很多,可是不太清楚哪错了?是from的问题吗?
Night_Elf 2004-09-06
  • 打赏
  • 举报
回复
From为关键字,建议改掉!
lupanwin 2004-09-06
  • 打赏
  • 举报
回复
insert into news (theme, contents, from) values (@Theme, @Contents, @From)"
你的这句有问题

62,046

社区成员

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

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

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

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