关于insert数据时,textbox里有特殊字符如('"",)等,怎么拼写sql语句

andy0618 2009-05-04 02:59:24
1、关于insert数据时,textbox里有特殊字符如('"",)等,怎么拼写sql语句

2、我用access数据库,insert时主键是个自增字段,如何insert的同时能得到主键的值
...全文
317 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sonny_lc 2009-05-04
  • 打赏
  • 举报
回复
第一个问题
用@或者用string.format()
sonny_lc 2009-05-04
  • 打赏
  • 举报
回复
select @@identity可以获得主键值,但要注意,
insert和上面这句同时操作
meheartfly 2009-05-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 fdc123 的回复:]
引用 10 楼 ljhcy99 的回复:
用带参数的Insert,

SqlConnection con = new SqlConnection (连接字符串);
SqlCommand cmd= new SqlCommand ("Insert into T(A,B) values(@A,@B),con);
cmd.parameters.Add(new SqlParameter(@A,TextBox1.text));
cmd.parameters.Add(new SqlParameter(@B,TextBox2.text));
cmd.ExcuteNonQuery();


顶 插入就是这样插入的,不要用Replace,用Replace如果特殊字符多的话就要多输入…
[/Quote]

对头!!!
幸运的意外 2009-05-04
  • 打赏
  • 举报
回复
1.在textBox的内容可以先经过替换处理后再链接到SQL语句字符串中。
2.可以在插入之前或之后,用聚合函数max检索到当前表的最大自增ID
fdc123 2009-05-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ljhcy99 的回复:]
用带参数的Insert,

SqlConnection con = new SqlConnection (连接字符串);
SqlCommand cmd= new SqlCommand ("Insert into T(A,B) values(@A,@B),con);
cmd.parameters.Add(new SqlParameter(@A,TextBox1.text));
cmd.parameters.Add(new SqlParameter(@B,TextBox2.text));
cmd.ExcuteNonQuery();
[/Quote]

顶 插入就是这样插入的,不要用Replace,用Replace如果特殊字符多的话就要多输入太多了很麻烦。
你的第2个问题 自增的列插入的时候不管他,他会自己增加的比如你有3列其中一列是自增列 插入的时候直接
insert into 表 values(@a,@b)
mdq001 2009-05-04
  • 打赏
  • 举报
回复

private void t_KeyPress(object sender, KeyPressEventArgs e)
{
Match num = Regex.Match(e.KeyChar.ToString(), "^[0-9]*$");
Match zm = Regex.Match(e.KeyChar.ToString(), "^[a-z|A-Z]*$");
if (!num.Success && !zm.Success)
{

e.Handled = true;
}
}
ljhcy99 2009-05-04
  • 打赏
  • 举报
回复
用带参数的Insert,

SqlConnection con = new SqlConnection (连接字符串);
SqlCommand cmd= new SqlCommand ("Insert into T(A,B) values(@A,@B),con);
cmd.parameters.Add(new SqlParameter(@A,TextBox1.text));
cmd.parameters.Add(new SqlParameter(@B,TextBox2.text));
cmd.ExcuteNonQuery();
andy0618 2009-05-04
  • 打赏
  • 举报
回复
我就是想知道怎么做才是写成输入参数的

而且得到主键值啊
andy0618 2009-05-04
  • 打赏
  • 举报
回复
可是textbox里的内容不知道会有什么样的特殊字符
不可能把特殊字符都替换一遍吧
CGabriel 2009-05-04
  • 打赏
  • 举报
回复
不要拼,写成输入参数
zealot1021 2009-05-04
  • 打赏
  • 举报
回复
不好意思,是select @@identity
david_anwei 2009-05-04
  • 打赏
  • 举报
回复
1.select * from tablename where a.KYBZ='" + this.ComboBoxYPZT.Text + "'

2.cmdtext = @"set nocount on;insert into ZXDTable(SHRLX,SHCKID,FHCKID,FHXGS,BXXH,FHRQ,FHRID) values(@SHRLX,@SHCKID,@FHCKID,@FHXGS,@BXXH,@FHRQ,@FHRID)";
cmdtext += ";select @@Identity";
zealot1021 2009-05-04
  • 打赏
  • 举报
回复
自增列在插入操作的时候你就当它不存在就好了,如果要得到你刚刚插入的记录的自增ID
就 select @@indentity
rexhanpeng 2009-05-04
  • 打赏
  • 举报
回复
Replace("'","");
2 inser 以后 select
zzxap 2009-05-04
  • 打赏
  • 举报
回复
insert into table(a,b,c) values ('"+textbox1.text.trim.replace("'","''") +"','"+textbox2.text.trim.replace("'","''") +"','"+textbox3.text.trim.replace("'","''") +"')
mdq001 2009-05-04
  • 打赏
  • 举报
回复
1,过滤,或根本不允许输入特殊字符

2,自增的字段不用写,默认生成的

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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