2009-11-11 6 views
1

Je veux insérer une valeur dans SQL Server mais il y a un problème est que je passe la valeur dans le paramètre, il n'est pas inséré ailleurs si je sélectionne une valeur puis insère mon nom de base de données est sample et la table estInsérer une valeur dans SQL Server

c'est une instruction d'insertion parfaite ou non?

try 
{ 
    int val = stmt.executeUpdate("INSERT item (patientid,itemid) VALUES(nPatientID," + LrBn.TestID+ ")"); 
    out.println("1 row affected"); 
} 
catch (SQLException s) 
{ 
    System.out.println("SQL statement is not executed!"); 
} 

<% 
if(testname!=null) 
    { 
      LrBn.beginInsert(); 
     for(int i=0; i<testname.length; i++) 
      { 
        nCount++ ; 
       LrBn.ResultID=0; 
       try 
        { 
       LrBn.TestID = Integer.parseInt(testname[i]) ; 
      } catch(NumberFormatException ex) 
      { 
       LrBn.TestID = 0 ; 
      } 

         LrBn.GroupID = nGroupID ; 
         LaBn.locateRecord(LrBn.TestID) ; 

         short nemergencyType = com.hims.emergencyType.normal ; 
         try 
         { 
        nemergencyType = Short.parseShort(request.getParameter("emergencyType")); 
        } 
         catch(NumberFormatException ex) 
         { 
         nemergencyType = com.hims.emergencyType.normal ; 
         }  
      LrBn.Emergency = nemergencyType; 
        LrBn.ResultType = LaBn.TestResultType ; 
         LrBn.PatientID = nPatientID ; 
         LrBn.DoctorID = LogUsr.DoctorID; 
        LrBn.UnitID = LogUsr.UnitID ; 
         LrBn.RequestTime = com.webapp.utils.DateHelper.requestDateTime(request, "RequestTime"); 
       LrBn.CollectionTime = null; 
      LrBn.ResultTime = null; 
         LrBn.CollectedBy = 0 ; 
      LrBn.TestDoneBy = 0 ; 
      LrBn.PathologyUnitID = 0 ; 
         LrBn.BoolValue = 0; 
         LrBn.ScalarValue = null ; 
         LrBn.DescValue = null ; 
         LrBn.TestStatus = com.hims.TestStatusType.REQUESTED ; 
         LrBn.TestCharges = LaBn.TestCharge ; 
      LrBn.PaymentStatus = com.hims.PaymentStatus.PENDING ;      
         LrBn.continueInsert(); 

         Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
        Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/sample", "sa", "sa1234"); 
         java.sql.Statement stmt = conn.createStatement(); 
         try 
         { 
         int val = stmt.executeUpdate("INSERT item (patientid,itemid) VALUES(nPatientID," + LrBn.TestID+ ")"); 
         out.println("1 row affected"); 
       } 
       catch (SQLException s) 
         { 
          System.out.println("SQL statement is not executed!"); 
       } 
         stmt.close(); 
         conn.close(); 

     } // end for 
       LrBn.endInsert(); 
    } 
%> 

Répondre

0

En regardant votre première ligne de code:

int val = stmt.executeUpdate("INSERT item (patientid,itemid) VALUES(nPatientID," 
     + LrBn.TestID+ ")");  

Si vous obtenez des exceptions SQL et patientid est une sorte de champ d'identité, vous pouvez résoudre ce en faisant stmt.executeUpdate("INSERT item (itemid) VALUES(" + LrBn.TestID + ")"); à la place. Je m'excuse si ce n'était pas le problème, vous devrez peut-être clarifier votre question.

Questions connexes