0
import sqlite3
import math
import Dish_vol
try:
conn = sqlite3.connect('C:\\Users\\TJgro\\Desktop\\NEW_ATG\\\
Databases\\\Systems.db')
print("Connection Successful")
except:
print("Unsuccessful connection")
c=conn.cursor()
c.execute("DROP TABLE IF EXISTS Tanks")
c.execute("CREATE TABLE Tanks \
(ID INT PRIMARY KEY NOT NULL,\
DIR_Tag VARCHAR(255) NOT NULL,\
PRO_Type INT NOT NULL,\
PRO_Shape INT NOT NULL,\
DIR_Radius INT NOT NULL,\
DIR_Dish1 INT NOT NULL,\
DIR_Dish2 INT NOT NULL,\
DIR_Length INT NOT NULL,\
DIR_Capacity INT NOT NULL,\
DIR_HighAlarm INT NOT NULL,\
DIR_LowAlarm INT NOT NULL,\
DIR_WaterAlarm INT NOT NULL,\
DIR_Hysteresis INT NOT NULL,\
DIR_Area VARCHAR(255) NOT NULL,\
DIR_LevelOffset INT NOT NULL,\
DIR_SpecificGravity INT NOT NULL,\
DIR_MoveCount INT NOT NULL,\
DIR_MinMovement INT NOT NULL,\
DIR_MinimumDelivery INT NOT NULL,\
DIR_MinimumTheft INT NOT NULL,\
DIR_DeliveryGap INT NOT NULL,\
DIR_ProbeRange INT NOT NULL,\
PRO_TCPVolumeEnable INT NOT NULL,\
PRO_TCPUllageEnable INT NOT NULL,\
PRO_TCPTemperatureEnable INT NOT NULL,\
VAR_Pressure INT NOT NULL,\
VAR_LevelReg INT NOT NULL,\
AUX_Ullage INT NOT NULL,\
VAR_HMI_1_Volume INT NOT NULL,\
VAR_HMI_1_Ullage INT NOT NULL,\
VAR_HMI_1_Temperature INT NOT NULL,\
VAR_HMI_2_Volume INT NOT NULL,\
VAR_HMI_2_Ullage INT NOT NULL,\
VAR_HMI_2_Temperature INT NOT NULL,\
VAR_HMI_3_Volume INT NOT NULL,\
VAR_HMI_3_Ullage INT NOT NULL,\
VAR_HMI_3_Temperature INT NOT NULL,\
VAR_AlarmRelayReg INT NOT NULL)")
for t in [(0, 'xyz', 'abc', 5, 15, 1371, 1500, 1500, 9144, 0, 0, 0, \
0, 0, 10, 1, 1, 0, 0, 0, 0, 0, 2500, 0, 0, 0,\
1000, 1000, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(1, 'xyz', 'abc', 5, 10, 1371, 1500, 1500, 9144, 0, 0, 0, \
0, 0, 10, 1, 1, 0, 0, 0, 0, 0, 2500, 0, 0, 0,\
1000, 1000, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(2, 'xyz', 'abc', 5, 12, 1371, 1500, 1500, 9144, 0, 0, 0, \
0, 0, 10, 1, 1, 0, 0, 0, 0, 0, 2500, 0, 0, 0,\
1000, 1000, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
]:
c.execute("INSERT INTO Tanks VALUES\
(?,?,?,?,?,?,?,?,\
?,?,?,?,?,?,?,?,\
?,?,?,?,?,?,?,?,\
?,?,?,?,?,?,?,?,\
?,?,?,?,?,?,?)",t)
で反復可能ではないエラーメッセージint型を理解していない、私は実行する必要があるいくつかの計算を持っているので、私は必要なフィールドを選択し、データベースを形成する:私はテーブルを作成し、それを移入した後、私のコード
:dish1Volume = Dish_vol.Dish_Vol(DIR_Radius, DIR_Dish1, VAR_LevelReg)
for row in c.execute("SELECT DIR_Radius, VAR_LevelReg, DIR_Length FROM Tanks"):
for [DIR_Radius, VAR_LevelReg, DIR_Length] in row:
cylinderVolume = (((DIR_Radius * DIR_Radius) * math.acos((DIR_Radius - VAR_LevelReg)/DIR_Radius)) - \
((DIR_Radius - VAR_LevelReg) * math.sqrt((DIR_Radius * DIR_Radius) - \
((DIR_Radius - VAR_LevelReg) * (DIR_Radius - VAR_LevelReg))))) * (DIR_Length/1000.0)
volume = cylinderVolume/1000.0
Total = volume + dish1Volume + dish1Volume
print (Total)
が、私はエラーメッセージが表示されます:
c.execute("SELECT DIR_Dish1 FROM Tanks")
DIR_Dish1 = c.fetchall()
print (DIR_Dish1)
c.execute("SELECT DIR_Radius FROM Tanks")
DIR_Radius = c.fetchall()
print (DIR_Radius)
c.execute("SELECT VAR_LevelReg FROM Tanks")
VAR_LevelReg = c.fetchall()
print (VAR_LevelReg)
c.execute("SELECT DIR_Length FROM Tanks")
DIR_Length = c.fetchall()
print (DIR_Length)
は今、私はいくつかの計算を持って、変数を持っています私は変数DIR_Dish1などが整数であるが、コードの別の部分で同じ構文が望ましい結果をもたらすことを理解し
:
for row in c.execute("SELECT DIR_Dish1 FROM Tanks"):
for DIR_Dish1 in row:
if DIR_Dish1 > 0.001:
int1 = math.pi * DIR_Dish1
int3 = 4 * DIR_Dish1 * DIR_Dish1
私は繰り返し処理できるようにループを作るにはどうすればよいです私が必要とする3つの変数を使用してデータベース?
ありがとう、これで解決しました! –