我建立一张收据,通过ESC / Pos发送到收据打印机。如果我以后需要打印出该收据的副本,我需要将esc / pos命令存储在数据库中。这是我的问题开始的地方,因为我无法找到一个正确的数据类型来存储收据。
如何存储收据副本?字符串? Varbinarys?还要别的吗?
更新: 对不起。我写了一个关于ESC / Pos如何工作的快速例子。
Encoding enc = Encoding.ASCII;
string text = string.Empty;
text += Convert.ToChar(27) + "@";
text += Convert.ToChar(27) + "R" + Convert.ToChar(9);
text += Convert.ToChar(27) + "t" + Convert.ToChar(5);
for (int i = 255; i < 300; i++)
{
text += i + " " + Convert.ToChar(i) + Environment.NewLine;
}
for (int i = 0; i < 4; i++)
text += Environment.NewLine;
text += Convert.ToChar(29) + "V" + Convert.ToChar(65) + Convert.ToChar(0);
clientSock.Send(enc.GetBytes(text.ToCharArray()));
这就是我要存储的内容。我不想只保存文本变量中的内容,因为我会丢失可能包含在内容中的格式。我使用的是Microsoft SQL Server(T-SQL)。
答案 0 :(得分:0)
看起来你需要存储至少一些不可打印的字符,所以你不想使用strings / varchar。此外,varbinary限制为254个字节,因此您最好使用blob。
另外,只是fyi,您应该考虑使用StringBuilder而不是执行所有字符串连接。它会快得多。