mono の System.Data.SqlConnection を使用して (ユーザー名とパスワードのユーザーへのプロンプトを介して) 新しい接続を確立しようとすると、ユーザーが間違ったユーザー名を複数回入力すると、例外が発生します:「オブジェクト参照がオブジェクトのインスタンスに設定されていません」 " 2 回目以降に MyConnection.Open() を呼び出すと。より詳細な例外メッセージが表示されるはずです。理想的には、ユーザー名とパスワードの組み合わせが無効であるなどの最初のエラー応答に似ています。
これはモノエラーのようですが、間違っている可能性があります。
関連する詳細: Ubuntu 12.04 LTS、2.10.8.1 は (シナプスから) インストールされている mono-devel パッケージのバージョンのようです。
これはコメントが散在するコードです。覚えておいてください、私はそれが良いコードであると主張したことはありません:
protected void LoginClick (object sender, System.EventArgs e)
{
SQLConn = "Data Source=<datasrc goes here>;Initial Catalog=<database name goes here>;User ID=" + UserText.Text + ";Password=" + PassText.Text + ";MultipleActiveResultSets=True;";//the problem is not in the connection string; it logs in right with the right user/pass
MyConnection=null;
try
{
MyConnection = new SqlConnection(SQLConn);
ShowMessage("test1");
MyConnection.Open();
ShowMessage("test2");
...もっとありますが、有効なユーザー/パスワードを入力しない限り、test2マーカーに到達することはなく、常にtest1マーカーに到達します.. ...
}
catch (Exception ex)
{
if (MyConnection!=null){
MyConnection.Close();
}
ShowMessage("Error logging into Database: "+ex.Message);
}
ShowMessage() がどのように見えるかをデバッグするために知る必要がある場合は、それを含めます。
public void ShowMessage(string Msg){
Gtk.MessageDialog md=new Gtk.MessageDialog(this,DialogFlags.Modal,MessageType.Error,ButtonsType.Ok,Msg);
md.Run();
md.Destroy();
}
これは私の最初の投稿です。このサイトを間違って使用している場合は、リダイレクトしてください。
私の質問: 私は何か間違ったことをしていますか、それとも mono-project のバグを報告する必要がありますか?