Tag: sql insert

错误:将nvarchar数据类型转换为smalldatetime数据类型会导致超出范围的值

嘿所有我正在尝试执行以下插入查询 SqlDataSource userQuizDataSource = new SqlDataSource(); userQuizDataSource.ConnectionString = “Data Source=localhost\\SQLEXPRESS;Initial Catalog=quizApp;Integrated Security=True”; userQuizDataSource.InsertCommand = “INSERT INTO [UserQuiz] ([DateTimeComplete], [Score], [UserName]) VALUES (@DateTimeComplete, @Score, @UserName)”; userQuizDataSource.InsertParameters.Add(“DateTimeComplete”, DateTime.Now.ToString()); userQuizDataSource.InsertParameters.Add(“Score”, score.ToString()); userQuizDataSource.InsertParameters.Add(“UserName”, User.Identity.Name); int rowsAffected = userQuizDataSource.Insert(); Buti不断收到以下错误: 将nvarchar数据类型转换为smalldatetime数据类型会导致超出范围的值。 该语句已终止。 谁能帮我吗?

从日期时间到字符串格式的转换错误

这部分代码有问题,我正在尝试将记录插入到我的预订表中。 我想输入的值是(6,3,3,20/06/2018 00:00:00,400,2800.00,True,560.00) public void insertBooking(int bookingID, int customerID, int entertainmentID, DateTime bookingDate, int numberOfGuests, double price, bool deposit, decimal depositPrice) { db.Cmd = db.Conn.CreateCommand(); db.Cmd.CommandText = “INSERT INTO Booking (bookingID, customerID, entertainmentID, [Booking Date], [Number Of Guests], [Price], [Deposit?], [Deposit Price]) ” + “Values (‘” + bookingID + “‘,'” + customerID + “‘,'” + […]

SQL脚本数据中的关键字在以编程方式执行时导致问题 – C#

我是sql的新手,我的sql脚本中的关键字问题导致了严重问题。 我正在尝试在C#中执行premade .sql脚本文件列表。 我正在将文件读取为字符串并使用command.ExecuteNonQuery()执行它。 这适用于大多数脚本,但我遇到了一个无意中包含关键字的脚本: INSERT INTO [thetable] SELECT ‘123123’, ‘abcabc’, ‘I WANT TO GO TO BED’ UNION ALL SELECT ‘123124’, ‘abcdef’, ‘SOOO TIRED’ 基本上,当它命中GO时命令失败。 我负责创建这些插入文件,所以如果我需要以某种方式重新格式化它们,那么这是可能的; 但是,它们中的数据是不可协商的。 此外,由于我从一个有很多行的文件加载它们,所以参数化以避免这些东西似乎也不可行。 在这一点上,将非常感谢任何帮助。 非常感谢! 编辑添加信息: 为了澄清,实际字符串更像是’ASVFDS4 + 23eF3da34sddsdf3d3t4g … 100charslater … sd5OAyGOsiISIssdsd / sNUIGsdisd354f’。 当我尝试执行命令时,我捕获了exception,其中说: “Unclosed quotation mark after character string ‘ASVFDS4+23eF3da34sddsdf3d3t4g…100charslater…sd5OAy’ 注意,GOOAIS紧跟着5OAy,这让我相信GO实际上被读作命令,导致它在该命令之前期望结束字符串。 运行.NET 3.5 编辑2我也应该澄清,我目前正在拆分实际的GO语句并单独执行命令。 即 USE MyDatabase […]

带有MySQL INSERT参数的C#

祝大家好,我正在使用Visual C#2010和MySQL版本5.1.48社区。 我希望你能帮我解决这个问题。 我发现它不适合我。 我错过了什么? string connString = ConfigurationManager.ConnectionStrings[“default”].ConnectionString; MySqlConnection conn = new MySqlConnection(connString); conn.Open(); MySqlCommand comm = conn.CreateCommand(); comm.CommandText = “INSERT INTO room(person,address) VALUES(@person, @address)”; comm.Parameters.Add(“@person”, “Myname”); comm.Parameters.Add(“@address”, “Myaddress”); comm.ExecuteNonQuery(); conn.Close(); 当我尝试编译它。 它说: Person列不能为null 编辑: 但是,当我尝试这个代码。 comm.CommandText = “INSERT INTO room(person,address) VALUES(‘Myname’, ‘Myaddress’)”; 但是这段代码很容易受到sql注入攻击,但它有效,不会给我一个错误。 编辑: 我试着用这个。 我发现它在这里,所以我认为它会工作,但给了我这个错误 索引(从零开始)必须大于或等于零且小于参数列表的大小。 任何的想法? string a = “myname”; MySqlCommand […]