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() 展开
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() 展开
5个回答
展开全部
就是生成的SQL语句问题
你把生成之后的SQL语句 TEXTBOX显示出来
然后 把TEXTBOX 里的SQL语然放在SQL2000里执行
你把生成之后的SQL语句 TEXTBOX显示出来
然后 把TEXTBOX 里的SQL语然放在SQL2000里执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'123' 附近有语法错误 ----- 检查SQL语句,字段类型 ,字符型的加单引号,数字型的不加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string constr = "Provider=SQLOLEDB.1;Persist Security Info = False;user id=sa;pwd=123456;Initial Catalog=123;Data Source=(local)";
Initial Catalog=123 这里不要写数据库中表的名字,要写数据库的名字。
Initial Catalog=123 这里不要写数据库中表的名字,要写数据库的名字。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是你的连接串有问题
改成这个试试
string constr = "server=.;database=数据库名;uid=sa;pwd=123456";
改成这个试试
string constr = "server=.;database=数据库名;uid=sa;pwd=123456";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
捕获sqlstr 先在查询管理器里面试试 !
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询