gpt4 book ai didi

c# - 创建表时应该使用什么SqlDbType?

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:19 27 4
gpt4 key购买 nike

我不知道这是否真的需要...但我编写尽可能健壮的代码,所以:

创建表时应该使用什么SqlDbTypeSqlDbType.NChar?或者 Unicode 表名会不会有问题?或者可能是 Var 类型之一,因为长度未知?我习惯于在数据库行而不是表的上下文中考虑这些类型,所以我不确定应该在此处使用什么。

编辑

例如,这样一行:

sqlCommand.Parameters.Add(new SqlParameter(parameterName,SqlDbType.NChar){ Value = value });

对于 CREATE TABLE 命令。

最佳答案

不能参数化您的表名或列名或任何其他数据库对象。您只能参数化您的值。

仍然可以使用字符串连接,但是在我看来,将您的表名作为输入太冒险了。您应该在将表名放入 SQL 之前对表名执行非常严格的验证,或者拥有一组列入白名单的有效表名,以避免 SQL Injection攻击。

除此之外,parameterized statements仅适用于 DML Statements不是DDL statements .

关于c# - 创建表时应该使用什么SqlDbType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30457554/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com