0

我有以下选择语句:

`Dim rsGetInvoiceContact
 Dim rsGetInvoiceContact_numRows

 Set rsGetInvoiceContact = Server.CreateObject("ADODB.Recordset")
 rsGetInvoiceContact.ActiveConnection = MM_conn_to_EFACs_STRING_ap
 rsGetInvoiceContact.Source = "SELECT *   from "& ActinicPersons &" p  WHERE p.[Contact          ID] = " + Replace(rsGetInvoiceContact__vInvoiceID, "'", "''") + "" 
 rsGetInvoiceContact.CursorType = 0
 rsGetInvoiceContact.CursorLocation = 2
 rsGetInvoiceContact.LockType = 1
 rsGetInvoiceContact.Open()

 rsGetInvoiceContact_numRows = 0

 "& FormatStr(rsGetInvoiceContact.Fields.Item("Address Line 1").Value) + ", " +      (rsGetInvoiceContact.Fields.Item("Address Line 2").Value) &"',`

稍后在我的脚本中,我将地址行 1 与地址行 2 相加。当地址行 2 具有 NULL 值时,就会出现问题。如何从 select 语句中替换它,以便如果只有地址行 1 有值,它仍将插入数据库而不是留下空白单元格。

谢谢

4

2 回答 2

0

您可以添加一个 where 子句,例如“where addressline2 is not null”,或者在您的脚本中添加地址行使用类似这样的内容

adress = (adress1&"") & (adress2&"")

这样你总是有一个字符串而不是一个空值

于 2012-06-21T10:06:15.140 回答
0

您可以使用空处理函数,如 MySQL 或 SqlServer 的 coalesce() 函数。

adress = coalesce(adress1,"") & coalesce(adress2,"")

您可以将第二个参数替换为预期的默认值。

于 2012-06-21T10:28:43.157 回答