Tag: sql

如何在另一个表中删除包含其父行的数据的行

有两个表[ UserData ]和[ HotelData ]我用外键链接它们。 这是“ Username ”,我想删除哪个用户名输入,并删除其在第二个表上的数据。 我不知道如何编写sql命令或c#。 System.Data.dll中发生了未处理的“System.Data.SqlClient.SqlException”类型exception 附加信息:DELETE语句与REFERENCE约束“FKHotelData”冲突。 冲突发生在数据库“E:\ GRADED UNIT DEV \ BLACKMARCH \ BLACKMARCH \ BIN \ DEBUG \ DATABASEBM.MDF”,表“dbo.HotelData”,列’Username’中。 该语句已终止。 private void btnDelete_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(@”Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\Graded unit Dev\BlackMarch\BlackMarch\bin\Debug\DataBaseBM.mdf;Integrated Security=True;Connect Timeout=30″); string sqlStatement = “DELETE FROM UserData WHERE Username = @Username”; con.Open(); SqlCommand […]

通过nHibernate Criterion使用SQL CONVERT函数

我有一个sql视图,其中每列的数据类型是string ,用于jquery datatables插件。 其中一列包含英国格式日期dd / mm / yyyy。 此列需要保留一个字符串才能使用插件的击键过滤,但是对于排序,需要将其视为日期。 我使用nhibernate标准来创建sql查询,我想生成以下order by子句,因为这正确地命令日期 order by CONVERT (datetime, DateOfBirth, 103) 但是在Nhibernate.Criterion.Projections中没有Convert方法。 有Cast ,但由于它是英国日期格式,我收到以下错误: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value 我试过也试过以下: criteria.AddOrder( Order.Desc( Projections.SqlFunction( “CONVERT”, NHibernateUtil.DateTime, new IProjection[] { Projections.Property(propNames[orderByColumn]), Projections.Property(“104”) } ) ) ); 但是我收到以下错误消息: NHibernate.HibernateException: Current […]

SQL Server(2008)将ArrayList或String传递给SP for IN()

我想知道如何将ArrayList,List <int >或StringBuilder逗号分隔列表传递给存储过程,以便使用IN()找到ID列表: @myList varchar(50) SELECT * FROM tbl WHERE Id IN (@myList) 在C#中,我目前正在将列表构建为逗号分隔的字符串; 但是当使用nvarchar(50)时,作为存储过程中param的类型 – 我得到一个错误,因为它无法将’1,2,3’转换为它在IN()之间预期的int。 有任何想法吗? 非常感激。 皮特

USQL Query从Json Data创建表

我有一个类似于[{}, {}, {}]的json,即可以有多行,每行有许多属性 – 值对,每行保持固定。 @json = EXTRACT MainId string, Details string FROM @INPUT_FILE USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor(); 这给了我json作为一个字符串。 我不知道如何得到: row[3].property4就像属性给定行的值。 使属性复杂化的是{Name:“XXX”,Value:“YYY”} @jsonnodes = SELECT JsonApp.JsonFunctions.JsonTuple(@json, “event”, “id”) AS json_map FROM @json; 现在,上面的查询我试过,但它没有用。 它给了我错误: Rowset variable ‘@json’ is not a scalar variable. 我如何获得行属性对并将它们放在csv文件或表中? 谢谢你的帮助。 JSON看起来像: [{“MainId”:”24201803″,”System”:[{“Name”:”event”,”Value”:”S”},{“Name”:”id”,”Value”:””}], “Details”:[{“Name”:”EventName”,”Value”:”W”},{“Name”:”previd”,”Value”:”88″}], “ttl”:8640000}, ….Multiple Rows of the Same type as before….] […]

插入访问数据库

我无法将文本框中的数据插入ms访问数据库,我收到错误“ Syntax error in INSERT INTO. ”。 有人可以帮帮我吗? 这是代码: public void button1_Click(object sender, EventArgs e)//save { using (OleDbConnection conn = new OleDbConnection(@”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\productdb.mdb”)) { OleDbCommand CmdSql = new OleDbCommand(“Insert into [product](Kod, names, price,type,volume,manufacturer,importer) enter code here { conn.Open(); CmdSql.Parameters.AddWithValue(“@Kod”, textBox1.Text); CmdSql.Parameters.AddWithValue(“@names”, textBox2.Text); CmdSql.Parameters.AddWithValue(“@price”, textBox3.Text); CmdSql.Parameters.AddWithValue(“@type”, textBox4.Text); CmdSql.Parameters.AddWithValue(“@volume”, textBox5.Text); CmdSql.Parameters.AddWithValue(“@manufacturer”, textBox6.Text); CmdSql.Parameters.AddWithValue(“@importer”, textBox7.Text); CmdSql.ExecuteNonQuery();// i get […]

使用sql参数转义SQL LIKE语句中的特殊字符

我有一个包含产品的表。 我需要查询查找所有匹配结果到用户输入值。 我正在使用SqlParameter来插入输入。 SqlCommand findProcutsByPattern = new SqlCommand( “SELECT *” + ” FROM [Products]” + ” WHERE ProductName LIKE @pattern”, connection); findProcutsByPattern.Parameters.AddWithValue(“@pattern”, ‘%’ + pattern + ‘%’); 当用户输入字符串包含’_’或’%’时,问题就出现了,因为它们被解释为特殊字符。 另一方面,考虑到这一点: 命令对象使用参数将值传递给SQL语句或存储过程,从而提供类型检查和validation。 与命令文本不同,参数输入被视为文字值,而不是可执行代码。 我不应该有这样的问题。 我是否需要替换/转义输入字符串中的所有’_’和’%’,或者是否有更优雅的解决方案。 我希望输入被视为文字。 我在表中有一些记录,其中包括名称中的特殊字符(N_EW,N \ EW,N%EW,N“EW,N’EW)。指定\ , ”和‘作为输入工作正常(考虑它们)作为文字)。

无法打开数据库,因为它是版本706.此服务器支持655及更早版本。 不支持降级路径

我的App_Data文件夹中有数据库文件,我的web配置如下所示 我有Default.aspx页面 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="” SelectCommand=”SELECT * FROM [Employee]” DeleteCommand=”DELETE FROM [Employee] WHERE [EmpID] = @EmpID” InsertCommand=”INSERT INTO [Employee] ([LastName], [FirstName], [Phone1], [Phone2]) VALUES (@LastName, @FirstName, @Phone1, @Phone2)” UpdateCommand=”UPDATE [Employee] SET [LastName] = @LastName, [FirstName] = @FirstName, [Phone1] = @Phone1, [Phone2] = @Phone2 WHERE [EmpID] = @EmpID”> 和一个Default.aspx.cs页面 using System; using System.Collections.Generic; using System.Linq; […]

关键字“用户”附近的语法不正确

错误是: System.Data.dll中发生了未处理的“System.Data.SqlClient.SqlException”类型exception 附加信息:关键字“用户”附近的语法不正确。 代码是: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsFormsApplication1 { public partial class Form1 : Form { SqlConnection conn; SqlDataAdapter GameDA; SqlDataAdapter DetailDA; DataSet DetailDS; SqlCommandBuilder cmdBuilder; SqlDataAdapter UserDA; SqlDataAdapter AdministratorDA; SqlDataAdapter OrderDA; DataSet OrderDS; SqlCommandBuilder cmdBuilder2; public Form1() { […]

使用ASP.NET网站中的File.CreateFile将文件插入Sql Server 2012 FileTable时访问被拒绝

我有一个ASP.NET网站。 我想将文件上传到网站并将其保存到SqlServer 2012中的FileTable中。 上传后,我的网站代码有一个Stream对象,我想用它来保存 System.IO.File.Create() 我去的时候可以在Windows资源管理器中访问FileTable \\ComputerName\FileStremShareName\FileStreamDirectoryName\FileTableName 我可以使用Windows资源管理器在此文件夹中手动创建文件。 我也可以使用SQL将文件插入到File表中。 在这两种情况下,Windows资源管理器和SQL Server都按预期显示文件。 但是,如果我尝试使用System.IO.File.CreateFile在路径中创建文件,例如 File.Create(\\\\ComputerName\FileStremShareName\FileStreamDirectoryName\FileTableName\myfile.jpg) 我收到消息“访问路径'[路径]’被拒绝” 我假设这是因为我的IIS应用程序池标识无权读取/写入此位置。 通常,我会进入NTFS权限并分配对身份帐户的读/写访问权限,但我无法执行此操作,因为基础文件夹对我来说是隐藏的。 我已经考虑将我的Stream对象转换为字节数组并使用SQL将其插入到FileTable中,但这似乎效率低下,因为我必须首先将流转换为字节数组,然后将其传递给SQL。 这似乎是我解析我的文件数据两次以保存它一次。 是否可以使用File.Create或类似的内容在ASP.NET网站中写入文件表。 如果是这样,我该怎么做?

如何使用SQL表填充DataTable

我目前正在使用Page_Load中的以下代码创建和读取DataTable protected void Page_Load(object sender, EventArgs e) { if (Session[“AllFeatures1”] == null) { Session[“AllFeatures1”] = GetData(); } table = (DataTable)Session[“AllFeatures1”]; DayPilotCalendar1.DataSource = Session[“AllFeatures1”]; DayPilotNavigator1.DataSource = Session[“AllFeatures1”]; if (!IsPostBack) { DataBind(); DayPilotCalendar1.UpdateWithMessage(“Welcome!”); } if (User.Identity.Name != “”) { Panel1.Visible = true; } } 我想知道如何转换此代码,以便从SQL查询中读取? 我正在尝试下面的代码,但我不知道如何连接它们,以便我的页面中的数据表加载填充下面的SQL命令。 SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[“BarManConnectionString”].ConnectionString); conn.Open(); string query = “SELECT * […]