Вставьте значение в SQL Server - PullRequest
1 голос
/ 11 ноября 2009

Я хочу вставить значение в SQL Server, но есть проблема в том, что я передаю оба значения в параметре, тогда он не вставляется, иначе, если я выберу одно значение, тогда будет вставлено имя моей базы данных образца, а таблица - элемент

это идеальный оператор вставки или нет?

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();
    }
%>

1 Ответ

0 голосов
/ 11 ноября 2009

Глядя на вашу первую строку кода:

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

Если вы получаете SQL Exceptions, а Patientid - это какое-то поле IDENTITY, вы можете решить это, выполнив stmt.executeUpdate("INSERT item (itemid) VALUES(" + LrBn.TestID + ")"); вместо этого.

Я прошу прощения, если это не было проблемой, возможно, вам придется уточнить ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...