/****** Object: Table [dbo].[DatabaseScriptLog] Script Date: 2019/4/8 15:52:19 ******/ SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE TABLE [dbo].[DatabaseScriptLog]( [Id] [int] IDENTITY(1,1) NOT NULL, [Title] [nvarchar](50) NULL, [Script] [nvarchar](max) NULL, [Remake] [nvarchar](1000) NULL, [CreateTime] [datetime] NULL, [LastUpdateTime] [datetime] NULL, [Delete] [int] NOT NULL, CONSTRAINT [PK_DatabaseScriptLog] PRIMARY KEY CLUSTERED [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] ALTER TABLE [dbo].[DatabaseScriptLog] ADD CONSTRAINT [DF_DatabaseScriptLog_Delete] DEFAULT ((0)) FOR [Delete] EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'标题' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DatabaseScriptLog', @level2type=N'COLUMN',@level2name=N'Title' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'脚本内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DatabaseScriptLog', @level2type=N'COLUMN',@level2name=N'Script' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DatabaseScriptLog', @level2type=N'COLUMN',@level2name=N'Remake' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DatabaseScriptLog', @level2type=N'COLUMN',@level2name=N'CreateTime' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最后修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DatabaseScriptLog', @level2type=N'COLUMN',@level2name=N'LastUpdateTime' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DatabaseScriptLog', @level2type=N'COLUMN',@level2name=N'Delete'

后端代码:

       var provider = System.Data.Common.DbProviderFactories.GetFactory(item.DbProviderName);
                    using (var conn = provider.CreateConnection())
                        conn.ConnectionString = item.DbConnInfo;
                        await conn.OpenAsync();
                        var commd = conn.CreateCommand();
                        commd.CommandText = bb;// request.Script;
                        commd.CommandType = System.Data.CommandType.Text;
                        int result = await commd.ExecuteNonQueryAsync();

把 'GO' 替换为 ';'  分号

SqlCommand com = conn.CreateCommand(); string users = textBox1.Text; string password = textBox2.Text; com.CommandText = "select * from T_login where LOGIN_user='"+users+"'"; SqlDataReader reader = com.ExecuteReader(); if (reader.Read()) //用户名正确! string dbpassword = reader.GetString(reader.GetOrdinal("LOGIN_password")); if (password == dbpassword) MessageBox.Show("登陆成功!"); MessageBox.Show("密码错误!"); MessageBox.Show("用户名错误!"); reader.Close(); catch(Exception ex) MessageBox.Show(ex.Message); private void Form1_Load(object sender, EventArgs e) string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"; conn = new SqlConnection(connString); conn.Open(); MessageBox.Show("成功!"); catch (Exception ex) MessageBox.Show(ex.Message); private void Form1_FormClosing(object sender, FormClosingEventArgs e) conn.Dispose(); private void button3_Click(object sender, EventArgs e) SqlCommand com = conn.CreateCommand(); string users = textBox1.Text; string password = textBox2.Text; com.CommandText = "select * from T_login"; SqlDataReader reader = com.ExecuteReader(); label3.Text = "id,用户名,密码\n"; while (reader.Read()) label3.Text = label3.Text +"\n"+ string.Format("{0},{1},{2}", reader[0], reader[1], reader[2]); reader.Close(); catch (Exception ex) MessageBox.Show(ex.Message); private void button2_Click(object sender, EventArgs e) SqlCommand com = conn.CreateCommand(); string users = textBox1.Text; string password = textBox2.Text; com.CommandText = "select * from T_login where LOGIN_user='" + users + "'"; SqlDataReader reader = com.ExecuteReader(); if (reader.Read()) //用户名存在! MessageBox.Show("用户名已经存在"); reader.Close(); reader.Close(); //可以注册 com.CommandText = "INSERT INTO T_login (LOGIN_user, LOGIN_password) VALUES ('"+users+"', '"+password+"')"; com.ExecuteNonQuery(); MessageBox.Show("注册成功!"); 单独运行SQL无问题,了加GO就报错。 是你的SQL语句中,有些行的结尾处只有Char(13)没有Char(10),即:只有回车符没有换行符,这种状态在视觉上是没办法区分的。 参考:http://www.cnblogs.com/zagelover/archive/2011/04/19/2020281.html 把你的A.SQL用记事本打开,新建一个TXT,重命名为B.SQL,把A.SQ... /*... ...*/(注释)    表示用户提供的文本。服务器不对位于   /*   和   */   注释字符之间的文本进行评估。    注释可以插入单独行中,或者   Transact-SQL   语句中。多行的注释必须用   /*   和   */   指明。用于多行注释的样式规则是,第一行用   /*   开始,接下来的注释行用   **   开始,并且用   */   结束注释... 1publicintCreateDB_KillProc_proc()2{3intresult=0;4stringSqlStr="";5//组合Sql语句6SqlStr+=@"USE[RadarDataBase]7... GoTo 只能跳到它所在过程中的行。 注意 太多的 GoTo 语句,会使程序代码不容易阅读及调试。尽可能使用结构化控制语句(Do...Loop、For...Next、If...Then...Else、Select Case)。 GoTo 语句示例 本示... 在ASP程序中,想通过ASP在数据表中添加新字段,根据“sql中文参考手册.chm”中所述,用了“ALTER TABLE Employees ALTER COLUMN Salary CHAR(20)”语句,居然报错:Microsoft OLE DB Provider for SQL Server 错误 80040e14 在关键字 COLUMN 附近语法错误。 /ddd/ttt