如何更新 C# 和 SQL Server 中的值? [关闭]

2024-04-16

这是我的程序,应该更新包含 3 列的表中的分数:id, nickname, scor.

Otherform.id1 is the id需要更新的用户的信息,取自登录表单。

void update()
{
        SqlConnection c = new SqlConnection(co);
        c.Open();          

        string up1 = "Update Scoruri Set Scor='" + Convert.ToInt32(scor1) + "' where ID='" + otherForm.id1 + ";'";
        //z.Parameters.AddWithValue("@y", scor1);
        SqlCommand comm = new SqlCommand(up1, c);
        comm.ExecuteNonQuery();          
        string up2= "'Update Scoruri Set scor='" +Convert.ToInt32(scor2) + "' where ID='" + otherForm.id2 + "';'";
        SqlCommand h = new SqlCommand(up1, c);
        h.ExecuteNonQuery();            
        c.Close();
}

您没有准确说出问题所在,但我发现您的代码中有一些问题。

  • 你应该总是使用参数化查询 http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/。这种字符串连接是开放的SQL注入 http://en.wikipedia.org/wiki/SQL_injection攻击。
  • 我假设你的Scor and ID列是数字,而不是字符。这就是为什么你不应该使用单引号。使用参数化查询,您无需担心这一点。
  • Use using陈述 http://msdn.microsoft.com/en-us/library/yh598w02.aspx处置你的SqlConnection adn SqlCommand.
  • 在你的第二个SqlCommand(这是h)您正在执行第一个命令(up1)不是第二个(up2).

举个例子;

void Update()
{
  using(SqlConnection c = new SqlConnection(co))
  using(SqlCommand comm = c.CreateCommand())
  {
     string up1 = "Update Scoruri Set Scor=@scor where ID=@id";
     comm.CommandText = up1;
     comm.Parameters.AddWithValue("@scor", Convert.ToInt32(scor1));
     comm.Parameters.AddWithValue("@id", otherForm.id1);
     c.Open();  
     comm.ExecuteNonQuery(); 
     comm.Parameters.Clear();
     comm.Parameters.AddWithValue("@scor", Convert.ToInt32(scor2));
     comm.Parameters.AddWithValue("@id", otherForm.id2);   
     comm.ExecuteNonQuery();       
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更新 C# 和 SQL Server 中的值? [关闭] 的相关文章

  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • 将日期时间转换为指定格式

    我有这个日期格式yy MM dd HH mm ss ex 12 02 21 10 56 09 问题是 当我尝试使用以下代码将其转换为不同格式时 CDate 12 02 21 10 56 09 ToString MMM dd yyyy HH
  • SQL Server默认字符编码

    默认情况下 Microsoft SQL Server 中数据库的字符编码集是什么 如何查看 SQL Server 中当前的字符编码 编码 In most cases SQL Server stores Unicode data i e th
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • 通过 C# Mailkit / Mimekit 发送电子邮件,但出现服务器证书错误

    Visual Studio 2015 中的 0 代码 1 我正在使用 Mailkit 最新版本 1 18 1 1 从我自己的电子邮件服务器发送电子邮件 2 电子邮件服务器具有不受信任的自签名证书 3 我在代码中添加了以下两行 以忽略服务器证
  • 使用 C# 中的 Google 地图 API 和 SSIS 包获取行驶距离

    更新 找到了谷歌距离矩阵并尝试相应地修改我的代码 我在这里收到无效参数错误 return new GeoLocation dstnc uri ToString catch return new GeoLocation 0 0 https 基
  • 如何使用递归查找数字中的最小元素 [C]

    好的 所以我正在准备我的 C 考试 当谈到递归时我有点卡住了我是大学一年级的学生 这对我来说似乎有点困难 练习要求在给定的数字中使用递归函数我需要找到最小的元素 例如 52873 是 2 程序需要打印 2 include
  • 访问数据库 LIMIT 关键字

    我试图让我的页面列表功能在 ASP 中与 Access 数据库一起工作 但我不知道 Microsoft SQL 中 LIMIT 的替代方案 我已经尝试过 TOP 但这似乎不起作用 这是 MySQL 中使用的语句 SELECT FROM cu
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 无法在 C# 中为 EventArgs 分配使用派生类型的事件处理程序

    所以我有一个事件声明如下 public event EventHandler OnChangeDetected 然后我有以下处理程序被分配给该事件 myObject OnChangeDetected OnTableChanged 我的理解是
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应
  • C 中使用 getrandom 实现随机浮点数

    我试图生成一个介于 0 和 1 之间的随机浮点数 无论是在 0 1 还是 0 1 对我来说都不重要 网上关于此的每个问题似乎都涉及rand 呼叫 播种time NULL 但我希望能够每秒多次调用我的程序 并每次都获得不同的随机数 这引导我找
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • FormsAuthentication:安全吗?

    Using 表单验证构建成asp net创建一个为经过身份验证的用户创建 cookie 的登录系统非常快速且简单 FormsAuthentication SetAuthCookie uniqueUsername false 与中的一些代码配

随机推荐