visual studio 2008 C# SQL插入数据出错,提示第一行“123”附近有错

程序运行后,提示第一行123附近有语法错误。。谢了。。急~privatevoidbutton1_Click(objectsender,EventArgse){string... 程序运行后,提示第一行123附近有语法错误。。谢了。。急~
private void button1_Click(object sender, EventArgs e)
{
string constr = "Provider=SQLOLEDB.1;Persist Security Info = False;user id=sa;pwd=123456;Initial Catalog=123;Data Source=(local)";
OleDbConnection con = new OleDbConnection(constr);
con.Open();
string sqlstr = "insert into 123 (x,y) values('";
sqlstr += textBox1.Text + "','";
sqlstr += textBox2.Text + "')";
OleDbCommand mycom = new OleDbCommand(sqlstr,con);
mycom.ExecuteNonQuery();
con.Close();
con.Dispose();
}
错误信息:
未处理 System.Data.OleDb.OleDbException
Message="第 1 行: '123' 附近有语法错误。"
Source="Microsoft OLE DB Provider for SQL Server"
ErrorCode=-2147217900
StackTrace:
在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
在 tryinsert.Form1.button1_Click(Object sender, EventArgs e) 位置 E:\我的文档\Visual Studio 2008\Projects\tryinsert\tryinsert\Form1.cs:行号 36
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.Run(Form mainForm)
在 tryinsert.Program.Main() 位置 E:\我的文档\Visual Studio 2008\Projects\tryinsert\tryinsert\Program.cs:行号 18
在 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
展开
 我来答
snfnyygt
2009-12-10 · TA获得超过1625个赞
知道大有可为答主
回答量:1469
采纳率:0%
帮助的人:1331万
展开全部
就是生成的SQL语句问题
你把生成之后的SQL语句 TEXTBOX显示出来
然后 把TEXTBOX 里的SQL语然放在SQL2000里执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fateyt
2009-12-10 · TA获得超过164个赞
知道小有建树答主
回答量:578
采纳率:0%
帮助的人:0
展开全部
'123' 附近有语法错误 ----- 检查SQL语句,字段类型 ,字符型的加单引号,数字型的不加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aund1986
2009-12-10 · TA获得超过1618个赞
知道小有建树答主
回答量:1000
采纳率:0%
帮助的人:490万
展开全部
string constr = "Provider=SQLOLEDB.1;Persist Security Info = False;user id=sa;pwd=123456;Initial Catalog=123;Data Source=(local)";

Initial Catalog=123 这里不要写数据库中表的名字,要写数据库的名字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友37c3540
2009-12-10 · TA获得超过175个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:108万
展开全部
应该是你的连接串有问题
改成这个试试
string constr = "server=.;database=数据库名;uid=sa;pwd=123456";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yj4018no1
2009-12-10 · 超过12用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:20.3万
展开全部
捕获sqlstr 先在查询管理器里面试试 !
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式