Merhabalar,
Normalde bir viewcontroller altında tek bir sgl server bağlantısı gerçekleştireceğim zaman problemsiz bağlanıp hem veri çekebiliyorum hem de insert,delete veya update işlemlerini yapabiliyorum. Ancak form yüklendiğinde birden fazla sgl sorgusu çalıştıracak isem burada problem yaşıyorum. Örneğin:
import UIKit
class ZVC: UIViewController, SQLClientDelegate {
func error(_ error: String!, code: Int32, severity: Int32) {
print("\(error!) \(code) \(severity)")
}
var strPass:String = "",strUName:String = "",strDBName:String = "",strIP:String = ""
var client1:SQLClient!
var client2:SQLClient!
var uSonuc1: [String] = []
var uSonuc2: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
client1 = SQLClient.sharedInstance()!
client2 = SQLClient.sharedInstance()!
let defaults = UserDefaults.standard
if let str1 = defaults.string(forKey: "DBIP") { strIP = str1 }
if let str2 = defaults.string(forKey: "DBName") { strDBName = str2 }
if let str3 = defaults.string(forKey: "DBUser") { strUName = str3 }
if let str4 = defaults.string(forKey: "DBPass") { strPass = str4 }
client1 = SQLClient.sharedInstance()!
client1.delegate = self
client1.connect(strIP,username: strUName,password: strPass,database: strDBName){ success in
if success {
self.client1.execute("select MUSTERI_ADI as SONUC1 from MUSTERI order by MUSTERI_ADI") {
results in
for table in results as! [[[String:AnyObject]]] {
for row in table {
for (columnName, value) in row {
print("\(columnName) = \(value)")
if(columnName == "SONUC1"){
let newVal = value as? String ?? ""
self.uSonuc1.append(newVal)
}}}}
self.client1.disconnect()
}}
else{}
}
client2 = SQLClient.sharedInstance()!
client2.delegate = self
client2.connect(strIP,username: strUName,password: strPass,database: strDBName){ success in
if success {
self.client2.execute("SELECT UserId AS SONUC2 FROM Usertbl") {
results in
for table in results as! [[[String:AnyObject]]] {
for row in table {
for (columnName, value) in row {
print("\(columnName) = \(value)")
if(columnName == "SONUC2"){
let newVal = value as? String ?? ""
self.uSonuc2.append(newVal)
}}}}
self.client2.disconnect()
}}
else{}
}
}
}
Build ettiğimde hata vermiyor, ancak programı simulator'de çalıştırdığımda ObjcSQLClient klasöründeki SQLClient.m dosyasının dbloginfree(login); satırının karşısında Thread 8: EXCBADACCESS (code=1, address=***********) hatası veriyor ve program kapanıyor.
Bu sorunu nasıl aşabilirim?