單刀直入:我一定幫助迫切需要。我正在使用Azure後端製作此程序,並且我有一個閱讀器腳本,用於從表中讀取數據並將其添加到變量中。它工作正常,第一次。如果我按下按鈕來獲得一個讀第二遍,甚至任何按鈕,我已經按下Get按鈕後,我得到一個崩潰說:問題與Visual Studio,C#和SQL Azure的數據庫
「‘System.InvalidOperationException’類型的未處理的異常發生在System.Data.dll中
附加信息:ConnectionString屬性尚未初始化 「。
這裏的讀者代碼:
private void TransactionGetButton_Click(object sender, EventArgs e)
{
string getterQuery = "SELECT balance FROM cloudbase WHERE name = '" + NameTextBox.Text + "' AND surname = '" + SurnameTextBox.Text + "';";
SqlCommand getCommand = new SqlCommand(getterQuery, cloudDatabaseConnection);
try
{
cloudDatabaseConnection.Open();
using (cloudDatabaseConnection)
{
SqlDataReader reader = getCommand.ExecuteReader();
while (reader.Read())
{
currentBalance = reader.GetInt32(0);
}
reader.Close();
string currentBalanceToString = currentBalance.ToString();
BalanceLabel.Text = currentBalanceToString + "MKD";
}
}catch(SqlException e1)
{
Console.WriteLine(e1.StackTrace + "\n\n" + e1.Message);
}
cloudDatabaseConnection.Close();
}
這裏的某些變量的聲明之外的功能。 這是什麼意思?我打開和關閉連接並正確閱讀/停止閱讀。我迷路了。
有一定的可比性代碼,這裏的打開/關閉連接另一個按鈕,但無論多少次我按它的工作原理。這兩個片段來自相同的文件,但功能不同:
private void AddButton_Click(object sender, EventArgs e)
{
amountToInt = int.Parse(AmountTextBox.Text);
insertdatabaseCloud.Connection = cloudDatabaseConnection;
insertdatabaseCloud.CommandText = "UPDATE cloudbase SET balance = balance + " + amountToInt + " WHERE name = '" + NameTextBox.Text +"' AND surname = '" + SurnameTextBox.Text +"';";
if(AmountTextBox.Text == "")
{
MessageBox.Show("Please fill out all fields");
}
else if(NameTextBox.Text == "")
{
MessageBox.Show("Please fill out all fields");
}
else if(SurnameTextBox.Text == "")
{
MessageBox.Show("Please fill out all fields");
}
else
{
cloudDatabaseConnection.Open();
int i = insertdatabaseCloud.ExecuteNonQuery();
cloudDatabaseConnection.Close();
if (i != 0)
{
MessageBox.Show("Database data updated successfully!");
}
else
{
MessageBox.Show("Something went wrong!");
}
}
}
在此先感謝!
快速瀏覽,它看起來像你的周圍類共享相同的連接,它被在導致該問題的方式圍繞共享。我建議你在連接字符串中的每個方法中創建一個新的連接(小心地將它們包裝在使用語句中),而不是共享它。 –
所以你說的是我應該多次創建功能相同的連接?將嘗試,感謝您的快速回復! @MartinCostello – user266716
@MartinCostello是對的!我在功能之間進行分割,它完美無缺地工作!巨人感謝他! – user266716