110,548
社区成员
发帖
与我相关
我的任务
分享
string str = @"JOB NM=cmdprint,ID=1234
{标签编号}
PAPER PG=20,PW=1260,PH=600
{单据编号}
ENV MK=2,DR=1,DK=10,SP=1,PS=207,PO=0,TO=0,CO=0,
{数量}
XO=0,YO=0,MD=1,CP=0
START
RECT SX=138,SY=70,EX=887,EY=513,WD=2,TP=1
FONT TP=3,AT=2,DR=1,
{11位的工令单号}
WD=28,LG=28,SL=0
TEXT X=160,Y=119,L=1
TPOPart:{数量} ";
Regex reg = new Regex("{(?<param>.*)}");
List<string> list = new List<string>();
Match m = reg.Match(str);
while (m.Success)
{
list.Add(m.Groups["param"].Value);
m = m.NextMatch();
}
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
conn.Open();
foreach (string s in list)
{
string replacement = "", tableName = "", columnName = "";
using (SqlCommand cmd = new SqlCommand("select * from yourtable where ColumnDescription='" + s + "'", conn))
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
tableName = dr["TableName"].ToString();
columnName = dr["ColumnName"].ToString();
}
}
}
using (SqlCommand cmd = new SqlCommand("select " + columnName + " from " + tableName, conn))
{
replacement = cmd.ExecuteScalar().ToString();
}
str.Replace(s, replacement);
}
}