어떤 도움을 주시면 대단히 감사하겠습니다. 이것에 잠시 머물러 있고 점점 더 혼란스러워하고있는 것처럼 보입니다!JDBC mysql 데이터베이스에서 데이터를 설정 및 검색
나는 열 (A, E, I, O 및 U)이있는 'VowelCount'테이블과 사용자가 입력 한 각 모음의 수를 저장하는 하나의 행을 가진 간단한 데이터베이스를 가지고 있습니다.
모음의 수는 사용자가 새 문장을 입력 한 다음 현재 입력에 대한 모음을 입력 할 때마다 업데이트해야하며 모든 이전 입력을 표시해야합니다.
현재 모음을 표시하는 방법을 알아 냈습니다. 그러나 데이터를 데이터베이스 테이블로 업데이트하는 중 문제가 발생하여이를 다시 검색하여 누적 합계에 더할 수 있도록 변수에 저장하십시오.
만약 이것이 맞는다면!
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Vowel Count Output</title>
</h:head>
<h:body>
<h1>Vowel count output</h1>
<h2>You typed: <h:outputText value="#{dataVowelBean.name}" /></h2>
<p> The number of A's: <h:outputText value="#{dataVowelBean.numberOfA}" /></p>
<p> The number of E's: <h:outputText value="#{dataVowelBean.numberOfE}" /></p>
<p> The number of I's: <h:outputText value="#{dataVowelBean.numberOfI}" /></p>
<p> The number of O's: <h:outputText value="#{dataVowelBean.numberOfO}" /></p>
<p> The number of U's: <h:outputText value="#{dataVowelBean.numberOfU}" /></p>
<p> The total number of A's: <h:outputText value="#{dataVowelBean.totalOfA}" /></p>
<p> The total number of E's: <h:outputText value="#{dataVowelBean.totalOfE}" /></p>
<p> The total number of I's: <h:outputText value="#{dataVowelBean.totalOfI}" /></p>
<p> The total number of O's: <h:outputText value="#{dataVowelBean.totalOfO}" /></p>
<p> The total number of U's: <h:outputText value="#{dataVowelBean.totalOfU}" /></p>
</h:body>
,691 :
<h:head>
<title>Vowel Count Example</title>
</h:head>
<h:body>
<h1>This is a vowel count example</h1>
<h:form>
<h2> Please type your name in the box and I will tell you how many vowels were used: </h2>
<h:inputText value="#{dataVowelBean.name}" /> <p> </p>
<h:commandButton type="submit" value="Submit" action="databaseVowelCount" />
</h:form>
</h:body>
여기
는 XHTML 출력이다
package managed_bean;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
import java.sql.*;
@Named(value = "dataVowelBean")
@RequestScoped
public class dataVowelBean
{
private String name;
private int numberOfA;
private int numberOfE;
private int numberOfI;
private int numberOfO;
private int numberOfU;
private int totalA;
private int totalE;
private int totalI;
private int totalO;
private int totalU;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
numberOfA();
numberOfE();
numberOfI();
numberOfO();
numberOfU();
storeVowelsInDatabase();
}
public int getNumberOfA()
{
return numberOfA;
}
public int getNumberOfE()
{
return numberOfE;
}
public int getNumberOfI()
{
return numberOfI;
}
public int getNumberOfO()
{
return numberOfO;
}
public int getNumberOfU()
{
return numberOfU;
}
public int getTotalOfA()
{
return totalA;
}
public int getTotalOfE()
{
return totalE;
}
public int getTotalOfI()
{
return totalI;
}
public int getTotalOfO()
{
return totalO;
}
public int getTotalOfU()
{
return totalU;
}
public void storeVowelsInDatabase()
{
int countA;
int countE;
int countI;
int countO;
int countU;
try
{
DriverManager.registerDriver(new());
Connection con;
con = DriverManager.getConnection(url, "user", "pass");
PreparedStatement stmtGet = con.prepareStatement("SELECT A, E, I, O,
U FROM vowelCountTable");
//countA = stmtGet.executeQuery();
ResultSet rs = stmtGet.executeQuery();
countA = (rs.getInt("A") + getNumberOfA());
totalA = countA;
countE = (rs.getInt("E") + getNumberOfE());
totalE = countE;
countI = (rs.getInt("I") + getNumberOfI());
totalI = countI;
countO = (rs.getInt("O") + getNumberOfO());
totalO = countO;
countU = (rs.getInt("U") + getNumberOfU());
totalU = countU;
PreparedStatement stmtSet = con.prepareStatement("UPDATE
vowelCountTable SET A = ?, E = ?, I = ?, O = ?, U = ?");
stmtSet.setInt(1, totalA);
stmtSet.setInt(2, totalE);
stmtSet.setInt(3, totalI);
stmtSet.setInt(4, totalO);
stmtSet.setInt(5, totalU);
stmtSet.executeUpdate();
stmtSet.close();
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void numberOfA()
{
for (int i = 0; i < name.length(); i++)
{
if (name.charAt(i) == 'a')
{
numberOfA++;
}
}
}
private void numberOfE()
{
for (int i = 0; i < name.length(); i++)
{
if (name.charAt(i) == 'e')
{
numberOfE++;
}
}
}
private void numberOfI()
{
for (int i = 0; i < name.length(); i++)
{
if (name.charAt(i) == 'i')
{
numberOfI++;
}
}
}
private void numberOfO()
{
for (int i = 0; i < name.length(); i++)
{
if (name.charAt(i) == 'o')
{
numberOfO++;
}
}
}
private void numberOfU()
{
for (int i = 0; i < name.length(); i++)
{
if (name.charAt(i) == 'u' || name.charAt(i) == 'U')
{
numberOfU++;
}
}
}
} 여기
입력 XHTML 화면이며
어떤 종류의 "문제"가 있습니까? 제발 당신이 어떤 문제를 구체적으로 실행 –
안녕하세요, 나는 데이터베이스에서 테이블을 업데이 트하고 그것에서 데이터를 검색하는 데 문제가 있습니다. xhtml 출력 화면에서 모든 모음의 수가 '0'으로 표시되지만 오류는 발생하지 않습니다. 다른 모음에 대해서도 모음에 수동으로 모음 수를 넣었지만 여전히 0으로 표시됩니다. 따라서 검색되지도 않습니다. 고맙습니다! – RiceCrispy