행위

"Python jdbc 테이블"의 두 판 사이의 차이

DB CAFE

(새 문서: <source lang="python"> # -*- coding: utf-8 -*- import os import sys import jaydebeapi import jpype import jaydebeapi as jp import pandas.io.sql as pd_sql from pandas import DataFrame...)
 
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
18번째 줄: 18번째 줄:
 
         #
 
         #
 
         jpype.startJVM(jHome,'-Djava.class.path=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/ojdbc6.jar','locale=UTF-8')
 
         jpype.startJVM(jHome,'-Djava.class.path=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/ojdbc6.jar','locale=UTF-8')
         conn = jp.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:cykim/clcl@sand.iptime.org:1521:orcl')
+
         conn = jp.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:username/password@db_ip:port_1521:sid_name')
 
         curs = conn.cursor()
 
         curs = conn.cursor()
 
         sql = "select * from employees"
 
         sql = "select * from employees"
41번째 줄: 41번째 줄:
 
                 self.tableWidget.setItem(row_number,column_number,QtWidgets.QTableWidgetItem(str(data)))
 
                 self.tableWidget.setItem(row_number,column_number,QtWidgets.QTableWidgetItem(str(data)))
  
        # for idx, sel in enumerate(row_data):
 
        #    print(idx)
 
        #    print(sel)
 
 
        # for colum_number,data in enumerate(row_data):
 
        #    self.tableWidget.setItem(row_number,colum_number,QtWidgets.QTableWidgetItem(str(data)))
 
 
        # print(curs.arraysize)
 
        # print(curs.fetchall())
 
 
        # self.tableWidget.setItem(curs.rowcount,curs.arraysize[0],QtWidgets.QTableWidgetItem(str(curs.fetchall())))
 
 
        # curs.execute(sql)
 
        # pd_sql.execute(sql, conn)
 
        # df = pd_sql.read_sql(sql, conn, index_col=None)
 
        # print(df.head())
 
 
        # acc = curs.fetchall()
 
        # print(curs.rowcount)
 
 
         curs.close()
 
         curs.close()
 
         conn.close()
 
         conn.close()
98번째 줄: 79번째 줄:
 
         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
 
         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
 
         self.btn_load.setText(_translate("MainWindow", "PushButton"))
 
         self.btn_load.setText(_translate("MainWindow", "PushButton"))
 
    def creatingTables(self):
 
        self.tableWidget = QTableWidget()
 
        self.tableWidget.setRowCount(5)
 
        self.tableWidget.setColumnCount(3)
 
 
        self.tableWidget.setItem(0,0, QTableWidgetItem("Name"))
 
        self.tableWidget.setItem(0,1, QTableWidgetItem("Email"))
 
        self.tableWidget.setItem(0, 2 , QTableWidgetItem("Phone No"))
 
 
        self.tableWidget.setItem(1,0, QTableWidgetItem("Parwiz"))
 
        self.tableWidget.setItem(1,1, QTableWidgetItem("parwiz@gmail.com"))
 
        self.tableWidget.setItem(1,2, QTableWidgetItem("845845845"))
 
        self.tableWidget.setColumnWidth(1, 200)
 
 
        self.tableWidget.setItem(2, 0, QTableWidgetItem("Ahmad"))
 
        self.tableWidget.setItem(2, 1, QTableWidgetItem("ahmad@gmail.com"))
 
        self.tableWidget.setItem(2, 2, QTableWidgetItem("2232324"))
 
 
        self.tableWidget.setItem(3, 0, QTableWidgetItem("John"))
 
        self.tableWidget.setItem(3, 1, QTableWidgetItem("john@gmail.com"))
 
        self.tableWidget.setItem(3, 2, QTableWidgetItem("2236786782324"))
 
 
        self.tableWidget.setItem(4, 0, QTableWidgetItem("Doe"))
 
        self.tableWidget.setItem(4, 1, QTableWidgetItem("Doe@gmail.com"))
 
        self.tableWidget.setItem(4, 2, QTableWidgetItem("12343445"))
 
 
        self.vBoxLayout = QVBoxLayout()
 
        self.vBoxLayout.addWidget(self.tableWidget)
 
        self.setLayout(self.vBoxLayout)
 
  
  
139번째 줄: 90번째 줄:
 
     sys.exit(app.exec_())
 
     sys.exit(app.exec_())
 
</source>
 
</source>
 +
[[Category:python]]

2019년 12월 19일 (목) 20:35 기준 최신판

thumb_up 추천메뉴 바로가기


# -*- coding: utf-8 -*-
import os
import sys

import jaydebeapi
import jpype
import jaydebeapi as jp
import pandas.io.sql as pd_sql
from pandas import DataFrame
from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def loadData(self):

        jHome = jpype.getDefaultJVMPath()
        # print(jHome)
        #
        jpype.startJVM(jHome,'-Djava.class.path=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/ojdbc6.jar','locale=UTF-8')
        conn = jp.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:username/password@db_ip:port_1521:sid_name')
        curs = conn.cursor()
        sql = "select * from employees"
        # self.creatingTables()
        curs.execute(sql)

        self.tableWidget.setRowCount(0)
        self.tableWidget.insertRow(int(curs.rowcount))
        row_data = curs.fetchall()

        # self.tableWidget.setItem(1, 1, QtWidgets.QTableWidgetItem(str(row_data[1])))
        # self.tableWidget = QTableWidget()
        # self.tableWidget.setRowCount(5)
        self.tableWidget.setColumnCount(10)

        for row_number,row_data in enumerate(row_data):
            print('rownumber:',row_number)
            self.tableWidget.insertRow(row_number)
            for column_number,data in enumerate(row_data):
                print('column_number:', column_number)
                print('data:', data)
                self.tableWidget.setItem(row_number,column_number,QtWidgets.QTableWidgetItem(str(data)))

        curs.close()
        conn.close()
        jpype.shutdownJVM()


    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(80, 30, 581, 341))
        self.tableWidget.setRowCount(5)
        self.tableWidget.setColumnCount(10)
        self.tableWidget.setObjectName("tableWidget")

        self.btn_load = QtWidgets.QPushButton(self.centralwidget)
        self.btn_load.setGeometry(QtCore.QRect(310, 420, 113, 32))
        self.btn_load.setObjectName("btn_load")
        self.btn_load.clicked.connect(self.loadData)

        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.btn_load.setText(_translate("MainWindow", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())