如何插入数据?

davidoff 2003-11-27 11:43:18
我怎么总失败?昏

一个表,abc两段,a自增,b是nvarchar,通过asp:textbox添加数据。总说我a不能编辑,我没有往a添加数据啊,怎么回事?各位给段代码瞧瞧,sql server 2000,C#,谢谢!
...全文
96 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidoff 2003-12-05
  • 打赏
  • 举报
回复
INSERT INTO photos(photoType,photoComingYear,photoName,photoTime,photoLocation,photoTaker,photoDetail)VALUES('%dd%','%2003%','%dd%','%dddd%','%dddd%','%dddddd%','%ddddddddddddd%')

“我很想飞”,根据你的办法,输出了这个东西,然后呢?
ZXYSOSO 2003-12-05
  • 打赏
  • 举报
回复
行 26: SqlCommand cmd = new SqlCommand(strSql,cn);

用Response.Write(strSql);查询这句话是否符合sql语法,你可以在SQLSERVER2000中插入数据试下。
ZXYSOSO 2003-12-05
  • 打赏
  • 举报
回复
原来:
SqlCommand objComm = new SqlCommand(strSQL, cn);
objComm.Parameters["@Name"].Value=txbName.Text;
objComm.Parameters["@Relationship"].Value=txbRelationship.Text;
objComm.Parameters["@NickName"].Value=txbNickName.Text;
改:
SqlCommand objComm = new SqlCommand(strSQL, cn);
objComm.Parameters.Add["@Name",SqlDbType.Varchar,10].Value=txbName.Text;
objComm.Parameters.Add["@Relationship",SqlDbType.Varchar,10].Value=txbRelationship.Text;
objComm.Parameters.Add["@NickName",SqlDbType.Varchar,10].Value=txbNickName.Text;

davidoff 2003-12-05
  • 打赏
  • 举报
回复
怎么毫无音讯!55555555又出错了,请看!

<%@ Page Language="C#" Debug=true%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="C#" runat="server">
void Page_Load()
{

}
void ent_Insert(object sender,EventArgs e)
{
string strPhotoType = Request.Form["txbPhotoType"].ToString();
string strPhotoYear = ddlYear.SelectedItem.Value;
string strPhotoNumber = Request.Form["txbNumber"].ToString();
string strPhotoTakeYear = Request.Form["txbPhotoYear"].ToString();
string strPhotoLocation = Request.Form["txbLocation"].ToString();
string strPhotoTaker = Request.Form["txbTaker"].ToString();
string strPhotoDetail = Request.Form["txbDetail"].ToString();
string strPhotoPreviewPath = @"<a href=photoshow.aspx?type="+strPhotoType+"&year="+strPhotoYear+
"&id="+strPhotoNumber+"><img src=images/picturesandphotos/small/"+
strPhotoType+"/"+strPhotoYear+"/"+strPhotoNumber+".jpg border=0/></a>";

string strConnection = ConfigurationSettings.AppSettings["CNG"];
string strSql = "INSERT INTO photos(photoType,photoComingYear,photoName,photoTime,photoLocation,photoTaker,photoDetail)"+
"VALUES('%"+strPhotoType+"%','%"+strPhotoYear+"%','%"+strPhotoNumber+"%','%"+strPhotoTakeYear+"%','%"+strPhotoLocation+"%','%"+strPhotoTaker+"%','%"+strPhotoDetail+"%')";
SqlConnection cn = new SqlConnection(strConnection);
SqlCommand cmd = new SqlCommand(strSql,cn);
cn.Open();
cmd.ExecuteNonQuery();

lbStatus.Text = "数据插入成功";
cn.Close();
}
</script>
<HTML>
<HEAD>
<TITLE>插入图片数据</TITLE>
</HEAD>
<BODY>
<form runat="server">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center">
<p><font size="5"><strong>插入图片</strong></font></p>
</div>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><hr noshade></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td valign="top">
<table width="600" border="0" cellspacing="5" cellpadding="0">
<tr valign="bottom">
<td width="100"> <div align="right">图片类型:</div></td>
<td width="500"> <asp:textbox ID="txbPhotoType" runat="server"/> </td>
</tr>
<tr valign="bottom">
<td> <div align="right">加入年份:</div></td>
<td width="500"> <asp:dropdownlist ID="ddlYear" runat="server">
<asp:listitem>2003</asp:listitem>
<asp:listitem>2004</asp:listitem>
<asp:listitem>2005</asp:listitem>
<asp:listitem>2006</asp:listitem>
<asp:listitem>2007</asp:listitem>
</asp:dropdownlist>
年 </td>
</tr>
<tr valign="bottom">
<td> <div align="right">图片序数:</div></td>
<td width="500"> <asp:textbox ID="txbNumber" Width="50" runat="server"/>
.jpg </td>
</tr>
<tr valign="bottom">
<td> <div align="right">拍摄年份:</div></td>
<td width="500"> <asp:textbox ID="txbPhotoYear" Width="50" runat="server"/>
年 </td>
</tr>
<tr valign="bottom">
<td> <div align="right">拍摄地点:</div></td>
<td width="500"> <asp:textbox ID="txbLocation" Width="250" runat="server"/>
</td>
</tr>
<tr valign="bottom">
<td> <div align="right">摄影师:</div></td>
<td width="500"> <asp:textbox ID="txbTaker" runat="server"/> </td>
</tr>
<tr valign="bottom">
<td valign="top"> <div align="right">图片简介:</div>
</td>
<td width="500"> <asp:textbox ID="txbDetail" Height="100" Width="200" TextMode="MultiLine" runat="server"/>
</td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><hr noshade></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td valign="top"><asp:button ID="btnInsert" Text="插入数据" OnClick="ent_Insert" runat="server"/></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><hr noshade></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td valign="top"><asp:label id="lbStatus" runat="server"/></td>
</tr>
</table>
</form>
</BODY>
</HTML>

----------------------------------------------------------------

然后,错误提示:

“/CNG”应用程序中的服务器错误。
--------------------------------------------------------------------------------

将截断字符串或二进制数据。语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。

源错误:


行 26: SqlCommand cmd = new SqlCommand(strSql,cn);
行 27: cn.Open();
行 28: cmd.ExecuteNonQuery();
行 29:
行 30: lbStatus.Text = "数据插入成功";


源文件: C:\Inetpub\wwwroot\CNG\o\insertPhoto.aspx 行: 28

堆栈跟踪:


[SqlException: 将截断字符串或二进制数据。
语句已终止。]
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +192
ASP.insertPhoto_aspx.ent_Insert(Object sender, EventArgs e) in C:\Inetpub\wwwroot\CNG\o\insertPhoto.aspx:28
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1263




--------------------------------------------------------------------------------
版本信息: Microsoft .NET 框架版本:1.0.3705.0; ASP.NET 版本:1.0.3705.0
davidoff 2003-12-05
  • 打赏
  • 举报
回复
各路大侠,有空写一个插入数据的完整代码好吗?谢谢!
davidoff 2003-12-04
  • 打赏
  • 举报
回复
ding
mcwj 2003-12-04
  • 打赏
  • 举报
回复
同意LesleyChiu(鱼头)
davidoff 2003-11-30
  • 打赏
  • 举报
回复
.......................
criedshy 2003-11-29
  • 打赏
  • 举报
回复
同意LesleyChiu(鱼头)说的
davidoff 2003-11-29
  • 打赏
  • 举报
回复
string strConn = ConfigurationSettings.AppSettings["AddrBook"];
SqlConnection cn = new SqlConnection(strConn);

string strSQL = "INSERT INTO users(Name,Relationship,NickName) VALUES(@Name,@Relationship,@NickName)";

SqlCommand objComm = new SqlCommand(strSQL, cn);
objComm.Parameters["@Name"].Value=txbName.Text;
objComm.Parameters["@Relationship"].Value=txbRelationship.Text;
objComm.Parameters["@NickName"].Value=txbNickName.Text;

提示错误:
此 SqlParameterCollection 中未包含带有 ParameterName“@Name”的 SqlParameter。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IndexOutOfRangeException: 此 SqlParameterCollection 中未包含带有 ParameterName“@Name”的 SqlParameter。
竹君子 2003-11-28
  • 打赏
  • 举报
回复
你的sql语句呢?
按 LesleyChiu(鱼头) 的就可以了
Nicholasqpl 2003-11-28
  • 打赏
  • 举报
回复
a是不是主键啊????
LesleyChiu 2003-11-28
  • 打赏
  • 举报
回复
a是不是种子啊,如果是种子的话,你添加就直接insert into t_xxx values(b_value)就行了,直接可以把a忽略掉的。
inatas 2003-11-28
  • 打赏
  • 举报
回复
insert into table (b) values(textbox.Text)

62,051

社区成员

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

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

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

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