基本上我有一个非常简单的插入语句
INSERT INTO [dbo].[ORDER]
(ORDER_DATE
,ORDER_TYPE_ID
,PAYMENT_STATUS_ID
,TOTAL_COST
,SENDER_NAME
,SENDER_EMAIL
,SENDER_MESSAGE
,RECIPIENT_NAME
,RECIPIENT_ADDRESS)
VALUES
(@ORDER_DATE
,@ORDER_TYPE_ID
,@PAYMENT_STATUS_ID
,@TOTAL_COST
,@SENDER_NAME
,@SENDER_EMAIL
,@SENDER_MESSAGE
,@RECIPIENT_NAME
,@RECIPIENT_ADDRESS)
C#代码中输入的地址是:
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmd = db.GetStoredProcCommand("sp_ORDER_INSERT");
db.AddInParameter(cmd, "@ORDER_DATE", DbType.DateTime, this._orderDate);
db.AddInParameter(cmd, "@ORDER_TYPE_ID", DbType.Int32, this._typeOfOrder.OrderTypeId);
db.AddInParameter(cmd, "@PAYMENT_STATUS_ID", DbType.Int32, this._statusOfPayment.PaymentStatusId);
db.AddInParameter(cmd, "@TOTAL_COST", DbType.Decimal, this._totalCost);
db.AddInParameter(cmd, "@SENDER_NAME", DbType.String, this._senderName);
db.AddInParameter(cmd, "@SENDER_EMAIL", DbType.String, this.SenderEmail);
db.AddInParameter(cmd, "@SENDER_MESSAGE", DbType.String, this._senderMessage);
db.AddInParameter(cmd, "@RECIPIENT_NAME", DbType.String, this._recipientName);
db.AddInParameter(cmd, "@RECIPIENT_ADDRESS", DbType.String, this._recipientAddress);
this._orderId = Convert.ToInt32(db.ExecuteScalar(cmd));
cmd.Dispose();
this._recipientAddress
中的值是"address line 1 \r\naddress line2\r\n\r\naddressline3"
无论如何,当我将其插入SQL时,它删除了'\ r \ n'并且我不想要它,因为这将在稍后显示,我想要换行。
RECIPIENT_ADDRESS数据库列是nText
有人有任何想法吗?
答案 0 :(得分:1)
"address line 1 \r\naddress line2\r\n\r\naddressline3"
在SQL中将是:
SELECT 'address line 1 ' + CHAR(13) + CHAR(10)
+ 'address line2' + CHAR(13) + CHAR(10)
+ CHAR(13) + CHAR(10)
+ 'addressline3'
答案 1 :(得分:1)
当结果窗格设置为在Grid中显示时,基本上它可以工作,但在SQL Management Studio中不显示,需要将其设置为在文本中显示。
当我在C#中进行选择时,然后查看\ r \ n仍在数据中的数据。
CHAR(13)+ CHAR(10)自动添加到数据库,但它们在网格视图中不可见,就像你做'SELECT CHAR(13)+ CHAR(10)'你什么也得不到。
干杯球员
答案 2 :(得分:0)
您只需在存储过程
中替换'\ n'和'\ r'即可INSERT INTO [dbo]。[订购] (订购日期 ,ORDER_TYPE_ID ,PAYMENT_STATUS_ID ,总成本 ,发件者姓名 ,SENDER_EMAIL ,SENDER_MESSAGE ,收件人姓名 ,RECIPIENT_ADDRESS) VALUES (@订购日期 @ ORDER_TYPE_ID @ PAYMENT_STATUS_ID ,@总成本 ,@发件者姓名 @ SENDER_EMAIL @ SENDER_MESSAGE ,@收件人姓名 ,REPLACE(REPLACE(@RECIPIENT_ADDRESS,'\ r',CHAR(13),'\ n',CHAR(10))