第 1 行: ',' 附近有语法错误。????

zsufrog 2004-11-12 02:05:13
private void Button1_Click(object sender, System.EventArgs e)
{
string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+RadioButtonList1.Items.ToString()+"','"+TextBox3.Text+"','"+DropDownList1.Items.ToString()+"')";
SqlCommand addInfo=new SqlCommand(strCommand,myConnection);
myConnection.Open();
addInfo.ExecuteNonQuery();
myConnection.Close();
Response.Redirect("WebForm1.aspx");

}



异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: ',' 附近有语法错误。

源错误:

行 69: SqlCommand addInfo=new SqlCommand(strCommand,myConnection);
行 70: myConnection.Open();
行 71: addInfo.ExecuteNonQuery();<---------这一句标了红色
行 72: myConnection.Close();
行 73: Response.Redirect("WebForm1.aspx");

...全文
168 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
minghui000 2004-11-13
  • 打赏
  • 举报
回复
up + 接分 + 学习
lutao206 2004-11-12
  • 打赏
  • 举报
回复
笨的可爱,呵呵。

加强数据库方面的知识吧。。。。
shoutor 2004-11-12
  • 打赏
  • 举报
回复
你的逗号不能为全角的,而且如果数据表中字段为整型,是不能插入使用''括起来的数据的
cancerser 2004-11-12
  • 打赏
  • 举报
回复
当然不是,给你个例子
ArrayList glist=group.GetGroups();//是一个类的LIST
for(int i=0;i<glist.Count;i++)
{ GroupInfo gro=(GroupInfo)glist[i];
DropDownList1.Items.Add(gro.GrpName);
}
我估计 就是ADD的时候添的是个类
zsufrog 2004-11-12
  • 打赏
  • 举报
回复
太感激楼上得大哥们了~~以上问题都解决了,但是。。。

我还想问 varchar 跟nvarchar又什么不一样阿??我按照教程上得设计得,烂书

我检查了数据库 ,在添加了得资料里面

性别里面不是“男/女”而是 System.Web.UI.WebControls.ListItemCollection
职业里面是 System.Web.UI.WebControls.ListItemCollection

怎么这样呢??是不是'"+RadioButtonList1.ToString()+" 跟"+DropDownList1.ToString()+"用错了??
cancerser 2004-11-12
  • 打赏
  • 举报
回复
textbox.text 出来的是 string
转成 整型
WWWFIND 2004-11-12
  • 打赏
  • 举报
回复
insert Ex06_04(ID,姓名,性别,年龄,职业) 中有中文的逗号"," 改为下面的即可:
insert Ex06_04(ID,姓名,性别,年龄,职业)
lutao206 2004-11-12
  • 打赏
  • 举报
回复
某一个字段长度不够*******************

姓名 varchar
性别 char
职业 varchar

改为:------------
姓名 nvarchar(20)
性别 nvarchar(20)
职业 nvarchar(100)

再试一试吧。。


zsufrog 2004-11-12
  • 打赏
  • 举报
回复
我按照boulder(day day up!) 说得

改成
private void Button1_Click(object sender, System.EventArgs e)
{
string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values("+TextBox1.Text+",'"+TextBox2.Text+"','"+RadioButtonList1.ToString()+"',"+TextBox3.Text+",'"+DropDownList1.ToString()+"')";
SqlCommand addInfo=new SqlCommand(strCommand,myConnection);
myConnection.Open();
addInfo.ExecuteNonQuery();
myConnection.Close();
Response.Redirect("WebForm1.aspx");

}

但是还是这样
异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止
zsufrog 2004-11-12
  • 打赏
  • 举报
回复
数据库是这样得

ID int
姓名 varchar
性别 char
年龄 int
职业 varchar
lihongyue 2004-11-12
  • 打赏
  • 举报
回复
楼主:是这样,你的某一个字段长度不够了,检查一下吧
boulder 2004-11-12
  • 打赏
  • 举报
回复
你的那些字段,在數据庫中都是字符型的嗎?如果有數字的,請把單引號去掉!
zsufrog 2004-11-12
  • 打赏
  • 举报
回复
为什么这样啊????????????????

高手们
zsufrog 2004-11-12
  • 打赏
  • 举报
回复
改了~~又出现这个,郁闷阿~~~~~

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



源错误:


行 69: SqlCommand addInfo=new SqlCommand(strCommand,myConnection);
行 70: myConnection.Open();
行 71: addInfo.ExecuteNonQuery();
行 72: myConnection.Close();
行 73: Response.Redirect("WebForm1.aspx");

zhounet 2004-11-12
  • 打赏
  • 举报
回复
string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values
这里
colinliu 2004-11-12
  • 打赏
  • 举报
回复
OleDbCommand dc=new OleDbCommand("INSERT INTO useinfo (name,pasword,flag) VALUES (?,?,?) ",myconnection);
dc.Parameters.Add("a1",a1);
dc.Parameters.Add("a2",a2);
dc.Parameters.Add("a3",a3);
其实平时用上边的方法很少出错的

string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values
--->
string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values

  • 打赏
  • 举报
回复
1、检查你的“,”是中文还是英文的逗号;
2、ID就是你的TextBox1.Text吗?
3、RadioButtonList1.Items.ToString()改成RadioButtonList1.selectedItem.Text
4、DropDownList1.Items.ToString()改成DropDownList1.SelectedItem.Text
试试吧,祝好运
suntonycomm 2004-11-12
  • 打赏
  • 举报
回复

楼主你那种写法太乱了,容易出错,下面这种是比较好的。
------------------------------------------------------------------
string sql=string.Empty;
OleDbCommand cmd;
StringBuilder sb= new StringBuilder();
ArrayList values = new ArrayList();
sb.Append("insert into members (M_Name,M_Code,M_Password,M_Email,M_Sig) ");
sb.Append("values('{0}','{1}','{2}','{3}','{4}')");
values.Add(txtName.Text);
values.Add(txtCode.Text);
values.Add(txtPwd.Text);
values.Add(txtMail.Text);
values.Add(txtSig.Text);
sql = string.Format(sb.ToString(),values.ToArray());
//Response.Write(sql);
//Response.Flush();
cmd = new OleDbCommand(sql,cnHelp);
cnHelp.Open();
cmd.ExecuteNonQuery();
Response.Write("<script language=javascript>window.alert('恭喜功!');window.location='Default.aspx';</script>");
boulder 2004-11-12
  • 打赏
  • 举报
回复
string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values
--->
string strCommand="insert Ex06_04(ID,姓名,性别,年龄,职业) values

同意
corwin 2004-11-12
  • 打赏
  • 举报
回复
OleDbCommand dc=new OleDbCommand("INSERT INTO useinfo (name,pasword,flag) VALUES (?,?,?) ",myconnection);
dc.Parameters.Add("a1",a1);
dc.Parameters.Add("a2",a2);
dc.Parameters.Add("a3",a3);
这样是不是简单些
加载更多回复(2)

62,046

社区成员

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

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

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

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