将 nvarchar 值转换为数据类型 int 时转换失败

2024-01-05

我的代码隐藏中出现转换失败的错误。我的代码如下:

using (SqlCommand cmd = new SqlCommand((tempUsertype == "0" ? "Select * from tbl_students" : "Select * from tbl_students where Id in (Select Id from tbl_students where NgoId=@NgoId)"), conn))
{
    cmd.Parameters.AddWithValue("@NgoId", Convert.ToString(Session["User"]));
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);
    ddlStudent.DataValueField = ds.Tables[0].Columns["Id"].ToString();
    ddlStudent.DataTextField = ds.Tables[0].Columns["first_name"].ToString();
    ddlStudent.DataSource = ds.Tables[0];
    ddlStudent.SelectedIndex = 0;

    if (Session["UserType"] == "1" || Session["UserType"] == "2")
    {
        ddlStudent.Enabled = false;
    }
    else
    {
        ddlStudent.Items.Insert(0, new ListItem() { Text = "--Select NGO--", Value = "0" });
        ddlStudent.Enabled = true;
    }
}

我收到以下错误:

将 nvarchar 值转换为数据类型 int 时转换失败。

这里必须进行哪些更改?


我猜可能是NgoId是一个 int 但你正在分配一个字符串。所以这可能会解决它:

var p = new SqlParameter("@NgoId", SqlDbType.int).Value = int.Parse(Convert.ToString(Session["User"]));
cmd.Parameters.Add(p);

编辑:因为您已经评论说会话存储用户名,但NgoId是一个 int-column 你有三个选择:

  1. 更改会话以存储用户 IDint而不是名字
  2. 更改存储用户名的列
  3. 从存储用户名的表中选择用户 ID。

我更喜欢第一个或最后一个选项。

如果您也喜欢最后一种方法,则此方法有效:

string sql = "Select * from tbl_students";
if(tempUsertype != "0")
{
    sql = @"Select s.* 
            from tbl_students s 
            where s.NgoId in (Select u.NgoId 
                              from tbl_User u 
                              where u.username = @Username)";
}
using (var cmd = new SqlCommand(sql, conn))
{
    var p = new SqlParameter("@Username", SqlDbType.varchar);
    p.Value = Convert.ToString(Session["User"]);
    cmd.Parameters.Add(p);
    // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 nvarchar 值转换为数据类型 int 时转换失败 的相关文章

  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • C# 中的接口继承

    我试图解决我在编写应用程序时遇到的相当大的 对我来说 问题 请看这个 为了简单起见 我将尝试缩短代码 我有一个名为的根接口IRepository
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 当“int”处于最大值并使用 postfix ++ 进行测试时,代码定义良好吗?

    示例 未定义行为的一个示例是整数溢出的行为 C11dr 3 4 3 3 int溢出是未定义的行为 但这是否适用于存在循环的以下内容 并且不使用现在超出范围的副作用i 特别是 这是否后缀增量规格帮助 结果的值计算在副作用之前排序 更新操作数的
  • 当我“绘制”线条时,如何将点平均分配到 LineRenderer 的宽度曲线?

    我正在使用线条渲染器创建一个 绘图 应用程序 现在我尝试使用线条渲染器上的宽度曲线启用笔压 问题在于 AnimationCurve 的 时间 值 水平轴 从 0 标准化为 1 因此我不能在每次添加位置时都在其末尾添加一个值 除非有一个我不知
  • 为什么 ISNUMERIC('.') 返回 1?

    最近我在 SQL Server 中使用 ISNUMERIC 时遇到了一个问题 导致找到了这段代码 SELECT ISNUMERIC 这会返回 1 如 true 所示 难道不应该像 false 一样返回 0 吗 See Numeric 损坏了
  • 如何使用 SQL 查询创建逗号分隔的列表?

    我有 3 个表 名为 应用程序 ID 名称 资源 id 名称 应用程序资源 id app id resource id 我想在 GUI 上显示所有资源名称的表格 在每一行的一个单元格中 我想列出该资源的所有应用程序 以逗号分隔 所以问题是
  • g++ 对于看似不相关的变量“警告:迭代...调用未定义的行为”

    考虑以下代码strange cpp include
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 双精度类型二维多维数组的 pinvoke 编组作为 c# 和 c++ 之间的输入和输出

    我有以下我正在尝试解决的双物质类型的 2d 多维数组的 c 和 c pinvoke 编组 我已经查看了以下热门内容以获得我目前拥有的内容使用双精度数组进行 P Invoke 在 C 和 C 之间编组数据 https stackoverflo
  • 使用 CSharpCodeProvider 类编译 C# 7.3 的 C# 编译器版本是什么?

    我想使用 Microsoft CSharp CSharpCodeProvider 类来编译 C 7 3 代码 编译器版本在 IDictionary 中指定 在创建新的 CSharpCodeProvider 时将其作为输入 例如 Compil
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop

随机推荐

  • Codeigniter:按日期升序排序

    您好 这是我用于订购和获取数据的模型代码 this gt db gt order by oBy asc query this gt db gt get books 一切工作正常 但是在我的数据库中 我将日期存储为字符串 例如2014 年 1
  • 如何编辑和调试 R 库源

    我在 R 脚本中包含了一个名为 blotter 的库 该库中有一个错误 有没有一种简单的方法可以让我编辑源代码来尝试调试问题 查找trace and browser函数 它们是R中调试的基本工具 假设您要编辑函数的源代码foo 然后说 tr
  • .NET API 更新包括 ID

    我有 Ruby on Rails API 背景 但目前正在开发 NET C WebAPI 我熟悉 C 和 NET Webform 我正在尝试设置一个 PUT 请求来更新数据库中的记录 脚手架方法会覆盖所有字段 而我只想更新通过 PUT 传递
  • 音译/转置 NSString 中的字符

    我想将西里尔字符串音译为最接近的拉丁字符串 例如 gt matreshka gt 伏特加 因此 理想情况下 我希望在 NSString 或其他地方有一些现成的方法 这些方法已经了解有关字母表的所有内容并且可以进行对话 但如果 iOS API
  • 在 x64 Windows 中,有没有办法运行 Runtime.exec() 进程以避免“注册表重定向”

    我们的应用程序在 jvm 32 位中运行 即使在 Windows x64 中也是如此 现在 在某些时候 我需要访问一些注册表值 例如 HKEY LOCAL MACHINE SOFTWARE mycomp 我通过执行来做到这一点 cmd C
  • 如何使用SQL和VBA从Access表中获取多个小计?

    我正在尝试使用 Windows 中的外部 vbs 文件 vbscript 从 Access Table 获取多个小计 mySQL SELECT Data Time Quantity Sum Data Price AS SumOfPrice
  • php shell_exec($cmd) 不在 cronjob 中运行

    很抱歉 我相信 这个问题很糟糕 但是谷歌和这个论坛中的其他文章无法帮助我 我将运行一个 php 脚本 其中包含以下代码 cmd duck u user name p pwd parallel 1 e overwrite y throttle
  • 如何查询数据库字段但忽略 HTML 标记?

    我们有一个包含用于在网站上格式化的 HTML 标记的字段 但我们只需要查询应在屏幕上呈现的文本 而不是 CSS 标签 标签名称 属性名称等内容 有没有办法忽略 SQL 查询或存储过程中的标记 如果有办法做到这一点 我们以后会遇到性能问题吗
  • 如何更改UIWebView中的字符编码?

    问题总结 在 iOS 上浏览非英文网站时 如果没有使用 UIWebView 明确指定正确的字符编码 则页面无法正确显示 详细解释 As the loadRequest UIWebView 中的方法将使用从 Web 服务器发送的字符集标头中指
  • 将查询参数传递给 Flask 装饰器

    我正在为我的 Flask 服务器设置一个令牌身份验证系统 并且我希望能够设置一个装饰器 如下所示 app route my data requires token auth def get my endpoint data Return J
  • jquery滑动侧边栏从左到右

    我正在尝试创建一个滑动侧栏 其效果类似于 www wookmark com http www dynamicdrive com dynamicindex1 slideinmenu htm http www dynamicdrive com
  • 使用 ETW 跟踪 Windows 用户模式进程系统调用

    有些人告诉我 ETW 提供了一种捕获用户模式进程发出的系统调用的机制 我已经列举了可用的提供者 并且只提出了两个可能提供此信息的可能的提供者 第一个是 Microsoft Windows Kernel Audit API Calls 该提供
  • 如何使用 pycharm 调试 docker-compose 内运行的进程

    我正在尝试将本地 Pycharm Django 切换到基于 docker 的开发环境 我在 mac 上运行并使用 Docker Compose 很少的 docker 我的 django 应用程序 一些 db 和 nginx 一切运行良好 代
  • scikit-learn 中 SVC 和 SVM 有什么区别?

    来自文档 http scikit learn org stable modules svm htmlscikit learn 实现了 SVC NuSVC 和 LinearSVC 这些类能够在数据集上执行多类分类 另一方面 我还了解到 sci
  • 是否总是可以使用 HTML5

    我一直注意到您可以使用 HTML5 标签播放音频文件 考虑到您只需要使用 1 个元素来播放视频和音频 这看起来真的很方便 一个例子是这个 JSFiddle http jsfiddle net oacLrnvv
  • 如何在 Windows/Linux 上设置 Java Swing 应用程序的 DPI?

    如果您的显示器的 DPI 超过 150 例如 Macbook Pro 您也可能会发现问题 Java Swing 应用程序上的字体对于高 DPI 显示器来说太小 而且我根本无法更改字体大小 它直接忽略Windows DPI 只显示最初的 DP
  • 如何在 Android 中向操作栏显示溢出菜单项

    我正在编写一个Android应用程序 我试图在其中将溢出菜单项显示到 ActionBar 使用这个很棒的教程链接 http wptrafficanalyzer in blog adding action items and overflow
  • 未找到 Codeception Yii

    我尝试使用 codecept 在 Yii2 项目中运行单元测试 并收到下一个错误 PHP Fatal error Class Yii not found in var www html mysite vendor codeception c
  • 运行应用程序时出现 iOS Phonegap Infinite Dialog 错误?

    我在为 iOS 开发 PhoneGap 应用程序时遇到问题 我刚刚将所有 html css javascript 标记复制到phonegap 应用程序中 我在 10 6 8 的 Mac 上使用 xcode3 当我运行该应用程序时 加载并安装
  • 将 nvarchar 值转换为数据类型 int 时转换失败

    我的代码隐藏中出现转换失败的错误 我的代码如下 using SqlCommand cmd new SqlCommand tempUsertype 0 Select from tbl students Select from tbl stud