Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用itextsharp循环sql结果以填充pdf_C#_Sql Server_Pdf_Itextsharp - Fatal编程技术网

C# 如何使用itextsharp循环sql结果以填充pdf

C# 如何使用itextsharp循环sql结果以填充pdf,c#,sql-server,pdf,itextsharp,C#,Sql Server,Pdf,Itextsharp,我试图使用iTextSharp从多个SQL查询填充一个。 为了填写表单的第1部分,查询返回1个名称,对于第二部分,我需要循环检查结果,这是我遇到的一点麻烦 using (var connection2 = new SqlConnection("Data Source=PUMA; Initial Catalog=CACTUS; User ID=somethinguser; Password=digital; Connection Timeout=50")) {

我试图使用iTextSharp从多个SQL查询填充一个。 为了填写表单的第1部分,查询返回1个名称,对于第二部分,我需要循环检查结果,这是我遇到的一点麻烦

        using (var connection2 = new SqlConnection("Data Source=PUMA; Initial Catalog=CACTUS; User ID=somethinguser; Password=digital; Connection Timeout=50"))
        {
            using (var command2 = connection2.CreateCommand())
            {
                command2.CommandText = "SELECT * from MikeACATest WHERE SSN = " + SSN + "and RELATIONCODE <> '01'";
                connection2.Open();

                using (var reader2 = command2.ExecuteReader())
                {
                    while (reader2.Read())
                    {
                        var dNAME = reader2.GetValue(reader2.GetOrdinal("NAME"));
                        var dDOB = reader2.GetValue(reader2.GetOrdinal("DOB"));
                        var dP2_16_ALL = reader2.GetValue(reader2.GetOrdinal("P2_16_ALL"));
                        var dP2_16_1 = reader2.GetValue(reader2.GetOrdinal("P2_16_1"));
                        var dP2_16_2 = reader2.GetValue(reader2.GetOrdinal("P2_16_2"));
                        var dP2_16_3 = reader2.GetValue(reader2.GetOrdinal("P2_16_3"));
                        var dP2_16_4 = reader2.GetValue(reader2.GetOrdinal("P2_16_4"));
                        var dP2_16_5 = reader2.GetValue(reader2.GetOrdinal("P2_16_5"));
                        var dP2_16_6 = reader2.GetValue(reader2.GetOrdinal("P2_16_6"));
                        var dP2_16_7 = reader2.GetValue(reader2.GetOrdinal("P2_16_7"));
                        var dP2_16_8 = reader2.GetValue(reader2.GetOrdinal("P2_16_8"));
                        var dP2_16_9 = reader2.GetValue(reader2.GetOrdinal("P2_16_9"));
                        var dP2_16_10 = reader2.GetValue(reader2.GetOrdinal("P2_16_10"));
                        var dP2_16_11 = reader2.GetValue(reader2.GetOrdinal("P2_16_11"));
                        var dP2_16_12 = reader2.GetValue(reader2.GetOrdinal("P2_16_12"));

                        for (int i = 17; i < Convert.ToInt32(3) + 17; i++)
                        { //pdfFormFields declared earlier
                            pdfFormFields.SetField("Part[3]." + i + "a.CoveredUserName", dNAME.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "c.CoveredUserDOB", dDOB.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "d.cb.CoveredMonths[All]", dP2_16_ALL.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Jan]", dP2_16_1.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Feb]", dP2_16_2.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Mar]", dP2_16_3.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Apr]", dP2_16_4.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[May]", dP2_16_5.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[June]", dP2_16_6.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[July]", dP2_16_7.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Aug]", dP2_16_8.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Sept]", dP2_16_9.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Oct]", dP2_16_10.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Nov]", dP2_16_11.ToString());
                            pdfFormFields.SetField("Part[3]." + i + "e.cb.CoveredMonths[Dec]", dP2_16_12.ToString());
                            reader2.NextResult();
                        }
                    }
                }
                connection2.Close();
            }
        }
        pdfStamper.FormFlattening = false;
        pdfStamper.Close();
    }
使用(var connection2=new-SqlConnection(“数据源=PUMA;初始目录=CACTUS;用户ID=somethinguser;密码=digital;连接超时=50”))
{
使用(var command2=connection2.CreateCommand())
{
command2.CommandText=“从MikeActest中选择*,其中SSN=“+SSN+”和关系代码“01”;
连接2.Open();
使用(var reader2=command2.ExecuteReader())
{
while(reader2.Read())
{
var dNAME=reader2.GetValue(reader2.GetOrdinal(“名称”);
var dDOB=reader2.GetValue(reader2.GetOrdinal(“DOB”);
var dP2_16_ALL=reader2.GetValue(reader2.GetOrdinal(“P2_16_ALL”);
var dP2_16_1=reader2.GetValue(reader2.GetOrdinal(“P2_16_1”);
var dP2_16_2=reader2.GetValue(reader2.GetOrdinal(“P2_16_2”);
var dP2_16_3=reader2.GetValue(reader2.GetOrdinal(“P2_16_3”);
var dP2_16_4=reader2.GetValue(reader2.GetOrdinal(“P2_16_4”);
var dP2_16_5=reader2.GetValue(reader2.GetOrdinal(“P2_16_5”);
var dP2_16_6=reader2.GetValue(reader2.GetOrdinal(“P2_16_6”);
var dP2_16_7=reader2.GetValue(reader2.GetOrdinal(“P2_16_7”);
var dP2_16_8=reader2.GetValue(reader2.GetOrdinal(“P2_16_8”);
var dP2_16_9=reader2.GetValue(reader2.GetOrdinal(“P2_16_9”);
var dP2_16_10=reader2.GetValue(reader2.GetOrdinal(“P2_16_10”);
var dP2_16_11=reader2.GetValue(reader2.GetOrdinal(“P2_16_11”);
var dP2_16_12=reader2.GetValue(reader2.GetOrdinal(“P2_16_12”);
对于(inti=17;i
此代码的问题在于命令查询
“从MikeActest中选择*,其中SSN=“+SSN+”和RELATIONCODE“01”返回3个名字:黛布拉、帕克和莎拉

我需要做的是计算出现的名称数量,并循环遍历每个名称,填充PDF。我知道如何填充PDF,但我的问题是在查询中循环

在我的for循环中(顺便说一句,它不起作用),我硬编码了数字3,所有3个名字都是妻子的()。

让它起作用了

reader2.NextResult()
导致了问题,因为这意味着要同时进行多个搜索查询,如
select*fromGroupa;选择…

-您不应该将SQL语句连接在一起-使用参数化查询来避免SQL注入