热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

菜鸟又来送分了:如何在SQLServer数据库的一个字段中插入一个null值?谢谢大虾指点

有如下的SQL语句:sqlinsertintoproduct(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product
有如下的SQL语句:
sql="insert into product(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product_Detail,Sale_Price) values("
sql=sql & CategoryID & "," & ProvideTraderID & ",'" & ProductName & "','" & SerialNumber & "','" & ProductDetail & "','" & SalePrice & "')"
ProvideTrader_ID为ProvideTrader(供应商)表的主关键字段,ProvideTrader表中又有一个外部关键字段Category_ID指向Product表,也就是说它们两个互相都有关联。如今我第一次往Product表中插入数据时,ProvideTraderID是空的,我想把ProvideTrader_ID字段设为一个NULL值,这样上面那个SQL语句如何写呢?
另外我对数据库不是很精通,不知道这样的两个表互相引用以后会不会出现问题,烦劳高手的指点了。

12 个解决方案

#1


sql="insert into product(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product_Detail,Sale_Price) values("
sql=sql & "Null" & "," & ProvideTraderID & ",'" & ProductName & "','" & SerialNumber & "','" & ProductDetail & "','" & SalePrice & "')" 

#2


TO BrentIvan(Ivan):好象不行啊,请看下面的全部代码:
  ProductName=trim(request.queryString("ProductName"))
  CategoryID=trim(request.queryString("CategoryID"))
  ProvideTraderID=trim(request.queryString("ProvideTraderID"))
    if ProvideTraderID="" then ProvideTraderID="Null"
  SerialNumber=trim(request.queryString("SerialNumber"))
  SalePrice=trim(request.queryString("SalePrice"))
  ProductDetail=trim(request.queryString("ProductDetail"))
 
   sql="insert into product(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product_Detail,Sale_Price) values("
   sql=sql & CategoryID & "," & ProvideTraderID & ",'" & ProductName & "','" & SerialNumber & "','" & ProductDetail & "','" & SalePrice & "')"

conn.execute(sql)

#3


忘了说ProvideTraderID是一个列表框变量,第一次传过来的时候是空值,我试过在SQL Server Query Analyzer中用NULL值代替ProvideTraderID是可以的,但就是不知道如何在ASP中写语句。期待你的再次指点,谢谢。

#4


在给ProvideTraderID赋值的语句后加一句
If ProvideTraderID = "" Then
   ProvideTraderID = Null
End If

#5


应该这样:

在给ProvideTraderID赋值的语句后加一句
If ProvideTraderID = "" Then
   ProvideTraderID = "Null"
End If

#6


刚才忘了在ProvideTraderID中加引号了,不过加了好象也没有作用,我在SQL语句中直接付值也不行。

#7


还要引号吗?这样做:
...
ProvideTraderID = Trim(request.queryString("ProvideTraderID"))
If ProvideTraderID = "" Then
  ProvideTraderID = "Null"
Else
  ProvideTraderID = "'" & ProvideTraderID & "'"
End If 
...
sql="insert into product(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product_Detail,Sale_Price) values("
      sql=sql & CategoryID & "," & ProvideTraderID & ",'" & ProductName & "','" & SerialNumber & "','" & ProductDetail & "','" & SalePrice & "')"

    

#8


TO:BrentIvan(Ivan),我照你的方法做了,不过为什么还是不行。也许是我说得不够详细吧:
Product表中的ProvideTrader_ID字段是一个整型变量,用来记录产品的供应商,它是一个外部关键字段。 
IIS提示:
HTTP 500.100 - 内部服务器错误 - ASP 错误
Microsoft OLE DB Provider for SQL Server (0x80040E14)

#9


整型你加引号做什么?
这样:
ProvideTraderID = Trim(request.queryString("ProvideTraderID"))
If ProvideTraderID = "" Then
  ProvideTraderID = "Null"
End If 
...
sql="insert into product(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product_Detail,Sale_Price) values("
      sql=sql & CategoryID & "," & ProvideTraderID & ",'" & ProductName & "','" & SerialNumber & "','" & ProductDetail & "','" & SalePrice & "')"

    

#10


下面是我的response.write(SQL) 输出,请Ivan兄看看有什么不妥之处:
insert into product(Category_ID,ProvideTrader_ID,Product_Name,Serial_Number,Product_Detail,Sale_Price) values(15,Null,'193卡','a1','该产品是新产品,值得去购买。','10.0')

#11


感谢BrentIvan(Ivan)兄,错误出在后面的那个Sale_Price,Sale_Price是money型的。money型的变量是不用加引号的吗?
我再想问下除了字符串要加引号之外,那些类型变量还要加引号?我知道日期是要加"#"的

#12


money也是数字型的,凡是数字型的都不用引号。

推荐阅读
  • 包含phppdoerrorcode的词条 ... [详细]
  • 1.3.4ProfilerSQLServerProfiler是一个图形化的管理工具用于监督记录和检查SQLServer数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍1. ... [详细]
  • http:blog.csdn.netzeo112140articledetails7675195使用TCPdump工具,抓TCP数据包。将数据包上传到PC,通过Wireshark查 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 浅析PHP中$_SERVER[
    在PHP后端开发中,`$_SERVER["HTTP_REFERER"]` 是一个非常有用的超级全局变量,它可以获取用户访问当前页面之前的URL。本文将详细介绍该变量的使用方法及其在不同场景下的应用,如页面跳转跟踪、安全验证和用户行为分析等。通过实例解析,帮助开发者更好地理解和利用这一功能。 ... [详细]
  • 在IIS环境中部署Go API应用:Golang面试指南
    这篇文章介绍了在IIS上部署Go API项目的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着 ... [详细]
  • Java连接SqlServer2008数据库(转)
    Java连接SqlServer2008数据库首先下载JDBC:下载地址:http:www.microsoft.comzh-cndownloaddetails.aspx?id21599下载 ... [详细]
  • web页面报表js下载,web报表软件 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
  • 在Windows Server 2003环境中配置PHP脚本的定时执行方法:虽然在Linux系统中编写和调度PHP脚本较为常见,但在Windows Server 2003上同样可以通过任务计划程序来实现这一功能。本文将详细介绍如何在该操作系统中设置PHP脚本的自动执行,并提供具体的步骤和注意事项,帮助用户顺利完成配置。 ... [详细]
  • 比尔·盖茨最新个人网站出人意料地选择Linux服务器,背后有何深意?
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 微软平台的软件开发系统中,有着一套自己的约定规则。熟悉.net开发的都会对异常处理不陌生,现阶段的各种编程语言中,都不乏异常处理机制,个中原理也都大同小异。sqlserver在批处 ... [详细]
  • 定制数据层关键字:数据层,访问,元数据,数据访问模型http://www.gaodaima.com/35448.html定制数据层_sqlserver ... [详细]
author-avatar
我等到你不再等我_129
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有