Update index.cfm

This commit is contained in:
XaHY 2024-10-10 18:41:43 +03:00 committed by GitHub
parent 33639e78be
commit f48cac3885
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,43 +1,22 @@
<cfscript> <cfscript>
system = createObject("java", "java.lang.System");
// Чтение переменных окружения для подключения к БД // Чтение переменных окружения для подключения к БД
dbHost = system.getenv("DB_HOST") ?: ""; dbHost = createObject("java", "java.lang.System").getenv("DB_HOST") ?: "";
dbPort = system.getenv("DB_PORT") ?: "5432"; dbPort = createObject("java", "java.lang.System").getenv("DB_PORT") ?: "5432";
dbName = system.getenv("DB_NAME") ?: ""; dbName = createObject("java", "java.lang.System").getenv("DB_NAME") ?: "";
dbUser = system.getenv("DB_USER") ?: ""; dbUser = createObject("java", "java.lang.System").getenv("DB_USER") ?: "";
dbPassword = system.getenv("DB_PASSWORD") ?: ""; dbPassword = createObject("java", "java.lang.System").getenv("DB_PASSWORD") ?: "";
// Определение источника данных // Строка подключения к базе данных
datasource = "postgresDSN"; jdbcUrl = "jdbc:postgresql://" & dbHost & ":" & dbPort & "/" & dbName;
// Создание объекта соединения
dbConnection = createObject("java", "java.sql.DriverManager").getConnection(jdbcUrl, dbUser, dbPassword);
// Создание запроса
stmt = dbConnection.createStatement();
rs = stmt.executeQuery("SELECT id, name, email FROM users");
</cfscript> </cfscript>
<cftry>
<!--- Пробуем выполнить запрос --->
<cfquery name="userData" datasource="#datasource#">
SELECT id, name, email FROM users
</cfquery>
<cfcatch type="database">
<!--- Если ошибка базы данных, создаем источник данных --->
<cfscript>
datasourceCreate(
dsn = datasource,
database = dbName,
username = dbUser,
password = dbPassword,
class = "org.postgresql.Driver",
url = "jdbc:postgresql://" & dbHost & ":" & dbPort & "/" & dbName
);
</cfscript>
<!--- Повторное выполнение запроса после создания источника --->
<cfquery name="userData" datasource="#datasource#">
SELECT id, name, email FROM users
</cfquery>
</cfcatch>
</cftry>
<cfoutput> <cfoutput>
<h2>Hello, Lucee! Today's date is #dateFormat(now(), 'yyyy-mm-dd')#.</h2> <h2>Hello, Lucee! Today's date is #dateFormat(now(), 'yyyy-mm-dd')#.</h2>
<h3>Users List:</h3> <h3>Users List:</h3>
@ -47,12 +26,21 @@
<th>Name</th> <th>Name</th>
<th>Email</th> <th>Email</th>
</tr> </tr>
<cfloop query="userData"> <cfloop>
<cfif rs.next()>
<tr> <tr>
<td>#id#</td> <td>#rs.getInt("id")#</td>
<td>#name#</td> <td>#rs.getString("name")#</td>
<td>#email#</td> <td>#rs.getString("email")#</td>
</tr> </tr>
</cfif>
</cfloop> </cfloop>
</table> </table>
</cfoutput> </cfoutput>
<cfscript>
// Закрытие ресурсов
rs.close();
stmt.close();
dbConnection.close();
</cfscript>