>source

천재 모든 Treeview 행을 sqllite3 데이터베이스에 삽입하려고 하는데 그 대신 마지막 행만 삽입합니다.

다음을 시도했습니다.

def buying_addcheck(self):
    self.conn= sqlite3.connect('car dealership.db')
    self.cursorObj= self.conn.cursor()
    self.checkid += 1
    self.buying_checkspaymenttree.insert("", 'end', values=(
    self.buying_check_date_var.get(), self.buying_check_value_var.get(),
    self.buying_check_num_var.get(),self.checkid))
     def checks_db(self):
        self.conn= sqlite3.connect('car dealership.db')
        self.cursorObj= self.conn.cursor()
        # Values variable from Treeview and other widget's
        sellingcarsinfchecks= (
            (
                self.checkid, self.makevar.get(), self.sellernamevar.get(),
                self.Buyingdate_var.get(),
                self.cashepayments.get(),
                self.buying_check_num_var.get(), self.buying_check_value_var.get(), self.buying_check_date_var.get(),
                self.buying_nocheckpic))
        self.cursorObj.execute(
            """INSERT INTO cars_buying_checksonly(checkid, carmake, sellername, buyingdate, entirepaymentmethod, checknum, checkvalue, checkdate, checkpic)VALUES(?,?,?,?,?,?,?,?,?)""",
            sellingcarsinfchecks)
        self.conn.commit()

질문: 모든 Treeview 항목을 sqllite3 데이터베이스에 삽입하는 방법.

트리뷰의 모든 항목을 살펴봐야 합니다.

acw16682022-02-15 15:09:13

@acw1668 답변 감사합니다. 계속해서 협조해 주셔서 감사합니다. 솔직히 말해서 이것은 제 문제이고 어떻게 해야 할지 모르겠습니다. for 루프가 도움이 될 수 있을 것 같지만 정확한 해결책을 모르겠습니다.

asaad kittaneh2022-02-15 15:09:13

나는 당신이 필요로하는 것이 buy_addcheck() 내부에서 checked_db() 를 호출하는 것이라고 생각합니다. 그러면 트리뷰를 거칠 필요가 없습니다.

acw16682022-02-15 15:09:13

@awc1668 (self.buying_checkspaymenttree.insert) 값을 삽입한 후 buy_addcheck() 내부에서 self.checks_db() 를 호출하려고 시도했지만 작동하지 않습니다. 내가하려는 것은 다른 버튼을 사용하여 sqllite3 데이터베이스에 Treeview 항목을 저장하고 삽입하는 것입니다.

asaad kittaneh2022-02-15 15:09:13

또한 Sellingcarsinfchecks가 중첩 튜플을 사용하는 이유는 무엇입니까?

Delrius Euphoria2022-02-15 15:09:13
  • 답변 # 1

    1단계: Treeview의 항목을 self.checksrecords 목록에 추가

    2단계: self.checkrecords 목록의 for 루프 레code를 사용하여 목록의 값을 DB에 삽입

    def buying_addcheck(self):
         self.checksrecords=[]
         self.checkid += 1
         self.buying_checkspaymenttree.insert("", 'end', values=(
         self.buying_check_date_var.get(), self.buying_check_value_var.get(),
         self.buying_check_num_var.get(), self.checkid,self.makevar.get()))
         for child in self.buying_checkspaymenttree.get_children():
           self.checksrecords.append(self.buying_checkspaymenttree.item(child)
           ["values"])
      def checks_db(self):
          self.conn= sqlite3.connect('car dealership.db')
          self.cursorObj= self.conn.cursor()
          for self.checksrecords in self.checksrecords:
              self.cursorObj.execute("INSERT INTO cars_buying_checksonly_demo
              (checkdate, checkvalue, checknum, checkid,carmake)values(?,?,?,?,?)",
              (self.checksrecords[0],self.checksrecords[1],,self.checksrecords[2],
               self.checksrecords[3],self.checksrecords[4]))
            self.conn.commit()
    

  • 이전 Javascript의 배열 요소에서 단어 목록으로 RegEx로 문장을 어떻게 바꾸나요?
  • 다음 사육사 문제 -리더가 사망한 경우 복구하는 데 15분 소요