Tag: 数据库

哪个SQL查询在SQL注入方面更安全

我有两个SQL查询,其中每次调用查询时我都试图分别用+1和-1更新sup和opp值。 第一个查询: query=update disc set sup=@sup, opp=@opp where did=@did int sup=getnoofsup(did); int opp = getnoofopp(did); com.Parameters.AddWithValue(“@sup”, sups + 1); com.Parameters.AddWithValue(“@opp”, opps – 1); com.Parameters.AddWithValue(“@did”, did); com.ExecuteNonQuery(); 第二个查询 string query=”update disc set sup=sup+1, opp=opp-1 where did=@did” ; com.Parameters.AddWithValue(“@did”, did); com.ExecuteNonQuery(); 第二次注射查询是否有任何威胁,因为我用sup+1交换@sup ?

基于服务的数据库与本地数据库之间的混淆

嗨,我是c#的新手,我是一名学生,从过去3个月开始学习c#,在开始我的小项目时,我创建了一个基于服务的数据库,用于将值存储在表中。 在我的应用程序中,我只处理表格。 和查询将在一台机器上工作。 我正在生成一个只能在一台机器上工作的项目。 所以我现在意识到基于服务的数据库和本地数据库之间的差异**基于服务的数据库是一个只能通过服务器访问的数据库。 它使用MDF数据文件,即SQL Server格式。 为了能够连接到SQL Server数据库,SQL Server服务必须正在运行,因为它是处理您的请求并访问数据文件的服务。 本地数据库只是您的应用程序的本地数据库。 它使用SDF数据文件,即SQL Server CE(Compact Edition)格式。 没有必要安装服务器来访问SDF数据库**但是我使用基于服务的数据库形成了整个项目,并使用了所有选择和更新的查询。 我用这个代码 connectionString = @”Data Source=.\ SQLEXPRESS;AttachDbFilename=E:\project\Database1.mdf;Integrated Security=True;User Instance=True”; sqlConnection = new SqlConnection(connectionString); 转移到.sdf文件意味着本地数据库,我只需要替换新的连接字符串? 它是否反映了任何function?

如何从XAML中的文本框中获取值?

我正试图从文本框中获取价值来更新我的数据库。 这是我的XAML代码: 现在我想从名为“Amount”的文本框中获取值,因此我可以像这样更新我的数据库: public ICommand UpdateAccount { get { return new RelayCommand(UpdateAccount1); } } public void UpdateAccount1(string name) { Console.WriteLine(name); Account.UpdateAccount(SelectedAcc, *AMOUNT HERE*); } 然后我将它传递到我的数据库中,如下所示: public static void UpdateAccount(Account a, int Amount) { string sql = “UPDATE Accounts SET Saldo=Saldo-@Amount WHERE ID=@ID”; DbParameter par1 = Database.AddParameter(“@Amount”, Amount); DbParameter par2 = Database.AddParameter(“@ID”, a.ID); Database.ModifyData(sql, par1, par2); […]

需要找到DB列的类型

这是我的代码片段。我得到了数据库中存在的所有表名和列名。现在我需要知道列的类型。比如它的int或varchar或其他什么。可以帮助我吗? 顺便说一下这是C#。 OleDbConnection con = new OleDbConnection(connectionString); DataTable schemaCols; DataTable schemaTbl; List tablesnames = new List(); string returnString=””; try { con.Open(); object[] objArrRestrict; objArrRestrict = new object[] { null, null, null, “TABLE” }; schemaTbl = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, objArrRestrict); foreach (DataRow row in schemaTbl.Rows) { tablesnames.Add(row[“TABLE_NAME”].ToString()); } List columnnames = new List(); foreach (string str in tablesnames) […]

如何使用c#从数据库中检索多个图像

我有一个9个图像的数据库,它不断变化,所以我不能直接在html 标签中设置src来显示9个图像,我必须从数据库中选择它们并相应地绑定它们。 我能够使用Response.BinaryWrite()检索和打印1个图像,但不是全部9.我的byte[]只获取db中的第一个图像, 这是代码, while (dr.Read()) { Response.ContentType = “image/jpg”; Response.BinaryWrite((byte[])(dr[“fsImage”])); } 如何检索所有9个图像,以及如何将它们绑定到标记或动态构造html 标记 我是新手,所以如果有愚蠢的错误,请放轻松我;) 提前致谢。

构建Linq通用查询

我有一个包含两个表的数据库: public class A { public string Name { get; set; } public int Id { get; set; } } public class B { public int Id { get; set; } public bool Prop1 { get; set; } public bool Prop2 { get; set; } public bool Prop3 { get; set; } public bool Prop4 […]

我们如何从getschemaTable获取Column Size和dataType?

我是一个新手,我试图从我的数据库中的某些表中检索列NAme,大小(最大legth)和DataType,当我执行它时,以下代码期望它显示所有列类型和名称(我没有找到如何引用Size,我使用了ColumnSize,但据说DataColumn不包含此方法的定义)但在执行时,它只显示:IsColumnSetSystem.Boolean这是代码: private void button1_Click(object sender, EventArgs e) { string EF = textBox1.Text; try{ //SqlDataAdapter adapter = SetupDataAdapter(“SELECT * FROM id_declarant”); SqlCommand comm = new SqlCommand(); string connectionString = @”Data Source=.\SQLEXPRESS;Initial Catalog=declaration;Integrated Security=True”; comm.Connection=new SqlConnection(connectionString); String sql = @”SELECT * FROM id_declarant,declarant WHERE (declarant.Nom_pren_RS='” + EF + “‘) and (id_declarant.mat_fisc=declarant.mat_fisc) “; comm.CommandText = sql; comm.Connection.Open(); SqlDataReader […]

将文件类型图标保存在DATABASE或XML文件中

我正在使用c#,wpf和mvvm。 在我的datagrid中,每一行在最后一个单元格中都有一个ListBox,其中包含与此行相关的文档,我称之为句点。 用户可以向每个时段添加文档。 我想为每个文档显示文件类型图标(16×16)和文档名称。 文件类型图标让我有点头疼。 我不确定我是否应该在数据库中保存每个文件类型图标,如.DOC,因为一天可能有10个周期,每个都有2个.DOC文件,因此我在数据库中保存了20个图标,这些图标是19倍冗余… 我的用户将附加的大多数东西都是Office文件类型,如.xls,.doc,.pdf,images,zip / rar,我想这就是它。 另一个技术上更高级的是将唯一文件类型图标保存为XML文件中的编码base-64字符串,文件类型扩展名为键/值对。 在应用程序启动时,xml一次在字典中加载一次 每次文档进入数据库时​​,我都会检查文件名中的文件扩展名并检索字典以获取该文件的base64字符串。 我仍然可以以某种方式为文件类型base64字符串实现一个缓存机制,所以每次我得到.doc文件时我都不解码它们… 也许你有一个完全不同/更好的? 想法,请让我知道或建议数据库/ xml保存的优点/ disadvantes 🙂

访问远程数据库 – 最佳实践

我想创建一个C#.NET WPF应用程序,它与我的外部Linux服务器通信。 在我的服务器上运行MySQL数据库。 访问数据库(select,DML)的最佳方法是什么,而无需通过ADO.NET直接访问它? 我曾想过一个webservice,但我不知道如何在Linux服务器上使用C#创建和访问web服务。 我还需要一个安全的连接(https)。 我希望你能告诉我最佳实践。

必须声明标量变量“@UserName”

我一直收到一个我不明白的错误。 必须声明标量变量“@varname” 经过数小时的研究,尝试了多种解决方案而无需成功。 我的目标是创建一个使用2个文本框和一个按钮的登录页面,它根据存储在Sql数据库中的信息检查用户是否退出。 这是我认为问题来自的地方: private bool DBConnection(string userName, string password) { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString); //string cmdString = (“SELECT UserName, Password FROM Users WHERE UserName ='” + userName + // “‘AND Password ='” + password + “‘”); //REMOVED AS THIS IS PRONE TO SQL INJECTIONS string cmdString = (“SELECT * FROM Users WHERE […]