如何从 Java 将用户定义的表类型传递给 MSSQL 请求

2024-02-15

给定一个简单的存储过程,它有一个以单列整数作为参数的表:

CREATE PROCEDURE [dbo].[table_sel]
@tbl INT32Table READONLY
AS
BEGIN
SET NOCOUNT ON;
SELECT value FROM @tbl
END

如何从 Java 执行此存储过程?从 C# 中,这可以满足我的要求:

SqlConnection sqlconn;
System.Data.DataTable tbl = new System.Data.DataTable("INT32Table", "dbo");
tbl.Columns.Add("value", typeof(int));
tbl.Rows.Add(2);
tbl.Rows.Add(3);
tbl.Rows.Add(5);
tbl.Rows.Add(7);
tbl.Rows.Add(11);
using (SqlCommand command = new SqlCommand("table_sel"))
{
    command.Connection = sqlconn;
    command.Parameters.AddWithValue("@tbl", tbl);
    command.CommandType = System.Data.CommandType.StoredProcedure;
    SqlDataReader reader = command.ExecuteReader();

    //do stuff
}

哦对不起, 据我所知,Java 中没有这样的表对象,您可以使用 cs.setObject() 但您应该从某个地方获取该对象(在 mssql 服务器上查询?)。 如果您正在寻找使用 JDBC 插入的性能,那么您应该考虑准备语句和批量执行。

java.sql.connection connection = //driver, url, database, credentials ...

try
{
    PreparedStatement ps =
        connection.prepareStatement("insert into tbl values (?)");
    ps.setInt(1, your 1st int);
    ps.addBatch();
    ps.setInt(1, your 2nd int);
    ps.addBatch();
    ps.setInt(1, your 3rd int);
    ps.addBatch();
    ps.executeBatch();
}
catch (SQLException e)
{
    // err handling goes here
}
finally
{
    // close your resources
}

问候 S

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Java 将用户定义的表类型传递给 MSSQL 请求 的相关文章

随机推荐

  • 如何使用 google 图表 api 创建直方图?

    除了使用柱形图并适当命名之外 是否可以在谷歌图表 API 中创建直方图 添加到 mattedgod 的答案中 柱形图can现在创建的条形间隔紧密 请使用以下选项 bar groupWidth 100
  • android-如何在与主线程不同的线程中运行服务?

    我正在尝试在 android 中开发一个应用程序 其中包含一个读取多个小时传感器值的服务 当我启动服务时 我的设备挂起 所有其他进程都变慢 为了解决这个问题 我尝试在单独的线程中启动服务 如下所示 但问题仍然存在 new Thread ne
  • FB Canvas 授权重定向将我踢出 FB

    我有一个 Canvas 应用程序 它允许用户首先查看它的全部内容 然后仅在他希望执行某些操作时才请求权限 当用户进入应用程序时 它会在不需要权限的情况下启动 我们提供一个 登录 链接 该链接将请求 这会导致 Facebook 徽标出现并带有
  • 表示语法中的语句终止换行符?

    许多编程语言都有以行结束符终止的语句 不过 通常情况下 如果解析器无法理解该行 则在语句中间允许使用行结束符 例如 a 3 4 将在 Ruby 和 Python 中解析为语句a 3 4 since a 3 没有任何意义 换句话说 换行符被忽
  • 如何获取管道运行ID

    我是 Azure 新手 我需要使用 C 查找 Azure 中管道的最新活动 RunID 我不想调用管道实例 只想获取最后一个活动的 RunID 当我尝试时 可以调用管道并获取 ID 任何人都可以帮助我吗 我发现执行此操作的方法是查询数据工厂
  • Python distutils,如何获取要使用的编译器?

    例如 我可以使用python setup py build compiler msvc or python setup py build compiler mingw32要不就python setup py build 在这种情况下默认编译
  • 如何使用 Lombok 在类构造函数中使用 @Lazy 注释?

    给定一个 AnimalService 类 public class AnimalService private DogService dogService private AnimalService Lazy DogService dogS
  • 在java中连接自动生成的字符串,中间使用空格分隔符

    我有一个字符串数组变量 其值不断变化 由此生成随机数组 这就是我所拥有的 String trans Utility GetColumnValue testdata k suggest text 2 The trans值不断变化 我如何将它与
  • Pine Script 当前价格指标

    有没有办法在 Pine Script 中创建反映股票当前价格的指标 我需要这个指标 因为我需要在蜡烛收盘前 当存在特定交叉时 输入订单 并且逐条提供回测数据 我认为指标可以让我做到这一点 如果没有 还有其他方法可以解决这个问题 我不是一个经
  • Android 片段复制

    我正在尝试 android Honeycomb 预览中的新类 但遇到了一个小问题 我正在制作一个棒球计分应用程序 我希望左侧的按钮 操作菜单 可以切换右侧的 操作窗格 我已将其设置为片段 我希望按钮的 onClickListener 调用片
  • 强制我的 MFC 应用程序在 Vista 上以管理员身份运行

    我有一个使用 Visual Studio 2008 构建的 MFC 应用程序 它需要在 W2K XP 2003 和 Vista 上运行 该应用程序写入注册表中的 HKLM 并且仅在以管理员身份运行时才能在 Vista 上运行 我的问题是 我
  • “decltype(auto)”变量有任何实际用例吗?

    既来自我的个人经验 也来自咨询诸如此类的问题的答案decltype auto 有哪些用途 https stackoverflow com questions 24109737 what are some uses of decltypeau
  • 创建仅包含特定文件夹内的类的类加载器

    我想加载特定的罐子ScriptEngineManager using 特定的类加载器 https docs oracle com javase 7 docs api javax script ScriptEngineManager html
  • 编写编程语言的建议? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于想要编写编程或脚本语言的人 您可以提供哪些建议 我 我不担心如何编程或设计编译器 而是担心如何使用工具和代码生成器快速开发编译器
  • 组件提供商和模块提供商的区别

    这是什么区别 Components providers财产和 Module providers 两者代表什么 EDIT 我有两个组件 LoginComponent and SigninComponent 另一方面 我正在使用UserServ
  • dc散点图绑定onClick事件

    我正在使用 dc scatterPlot 无法找到如何将鼠标单击绑定到散点图中的不同符号 数据点 我认为我应该首先访问 symbol 然后设置属性 但似乎无法访问散点图的 symbol 或者可能我完全错了 请建议 var individua
  • 沿一个面轴解析的标签,沿另一面轴未解析的标签

    我正在尝试为一个场景找到一种方便的解决方案 其中一个分面维度有多行纯文本标签 而其他分面维度有绘图数学式的数学表达式 多行条带标签的各种解决方案 例如here https stackoverflow com questions 131981
  • 如何使用带有多个参数的 C# 运行 cmd.exe?

    我使用以下代码打开 exe 然后我想向它传递另一个参数 ProcessStartInfo StartInfo new ProcessStartInfo StartInfo FileName cmd exe StartInfo Argumen
  • 检查页面中是否存在特定Class的Div

    我正在尝试通过在其中插入我自己的 Javascript 文件来修改现有网页 我通过 Javascript 插入一个新的 Div 并将该 div 的背景设置为图像 url 为此网页设置背景图像 为了使该图像在背景上居中并使其占据整个网页 我使
  • 如何从 Java 将用户定义的表类型传递给 MSSQL 请求

    给定一个简单的存储过程 它有一个以单列整数作为参数的表 CREATE PROCEDURE dbo table sel tbl INT32Table READONLY AS BEGIN SET NOCOUNT ON SELECT value