C# 查看:set@session=substring(@ctxt,1,4)。我必须如何格式化我的SQL命令,以便CONVERT在1-4中编码一个intager?你不能只使用带前导零的fill吗?像string.Format(“{0:D4}”,session)+
C# 查看:set@session=substring(@ctxt,1,4)。我必须如何格式化我的SQL命令,以便CONVERT在1-4中编码一个intager?你不能只使用带前导零的fill吗?像string.Format(“{0:D4}”,session)+,c#,sql,sql-server,unicode,ado.net,C#,Sql,Sql Server,Unicode,Ado.net,查看:set@session=substring(@ctxt,1,4)。我必须如何格式化我的SQL命令,以便CONVERT在1-4中编码一个intager?你不能只使用带前导零的fill吗?像string.Format(“{0:D4}”,session)+string.Format(“{0:D4}”,contextId)非常感谢!我确实做了很多调查,也发现了你发布的链接。然而,我没能让它工作。 string strUser = _app.Settings.User; string strInt
查看:set@session=substring(@ctxt,1,4)。我必须如何格式化我的SQL命令,以便CONVERT在1-4中编码一个intager?你不能只使用带前导零的fill吗?像string.Format(“{0:D4}”,session)+string.Format(“{0:D4}”,contextId)非常感谢!我确实做了很多调查,也发现了你发布的链接。然而,我没能让它工作。
string strUser = _app.Settings.User;
string strInt = "";
// strInt += '\x0100'; => becomes 1 in trigger
strInt += '\x0000';
strInt += '\x0200'; //=> becomes two in the trigger
strInt += '\u0000';
strInt += '\u0300';//=> becomes 3 in the trigger
// strInt += '\x0000';
// strInt += '\x0210'; //=> becomes 4098 in the trigger( 4096=1 + 2=2)
// strInt += '\x0000';
// strInt += '\u1300';//=> becomes 19 in the trigger
// strInt += '\x0200'; // = 131072
// strInt += '\x0000';
// strInt += '\u0100';// = 65536
// strInt += '\u0000';
//strInt += '\x0000';
//strInt += '\x0003'; //768
//strInt += '\u0000';
//strInt += '\u0002'; //512
string strUser = "myself";
string strContextValue = strInt + strUser + "$";
string strContext = "declare @context_info varbinary(120) set @context_info = CONVERT(varbinary(120), N'" + strContextValue + "') set context_info @context_info";
SqlCommand scContext = new SqlCommand(strContext, conn, tran);
scContext.ExecuteNonQuery();
declare @ctxt varbinary(128)
select @ctxt=context_info from master.dbo.sysprocesses where spid = @@spid
set @session=substring(@ctxt,1,4)
set @contextid=substring(@ctxt,5,4)
byte[] binaryString = (byte[])dataTable.Rows[0][2];
string x = Encoding.ASCII.GetString(binaryString);
string strSubX2 = x.Substring(3, 4);
int iResult = BitConverter.ToInt32(Encoding.Unicode.GetBytes(strSubX2), 0);