1

TextBox値とFileUploadイメージを SQL Server に挿入するクラスがあります。イベントですべてのクラスを実行していWizard1_FinishButtonClickます。ウィザードには 4 つのステップがあります。すべてのクラスが実行され、クラス以外に挿入されInsertCert()ます。シンプルな .aspx ページで同じコードを実行すると、値が DB に挿入されます。

どこが間違っているのですか?以下は、クラスと Wizard1_FinishButtonClick です。

public void Insertcert()
        {
            String KKStech = @"Data Source=USER-PC\SQLEXPRESS;Initial Catalog=KKSTech;Integrated Security=True";
            SqlConnection conn = new SqlConnection(KKStech);
            String insertstring2 = @"insert into Cert(CertName, CertLogo)
                                       values(@CertName, @CertLogo)";
            SqlCommand cmd = new SqlCommand(insertstring2, conn);
            cmd.CommandText = insertstring2;
            cmd.CommandType = CommandType.Text;
            try
            {
                if (FileUpload1.HasFile)
                {
                    byte[] productImage = FileUpload1.FileBytes;
                    conn.Open();
                    cmd.Parameters.AddWithValue("@CertName", TextBox18.Text);
                    cmd.Parameters.Add("@CertLogo", SqlDbType.VarBinary).Value = productImage;
                    cmd.ExecuteNonQuery();

                }

            }

            catch (Exception ex)
            {
                throw ex;
            }

            finally
            {
                conn.Close();
            }

        }

これは、すべてのクラスが挿入される最後のクラスです。

 protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
        {

            InsertInfo();
            Insertcert();
            Insertaddress();
            Insertskills();

        }
4

1 に答える 1

1

「if (FileUpload1.HasFile)」行にカーソルを置き、F9 キーを押します。これにより、その行にブレークポイントが設定されます (左側の余白に赤い円が表示されます)。次に、プログラムをデバッグします (F5)。ブレークポイントに到達したら、マウスを「HasFile」の上に置くと、値を示すツール ヒントが表示されます。値が false の場合、これは挿入が行われていない理由を説明しています。

于 2012-08-02T14:47:25.137 に答える