問題タブ [oledbdatareader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - OleDbDataReader から値を取得する
から特定の値を取得できるかどうかを知りたいですOleDbdataReader
。
たとえば、100 行 10 列の Excel シートからデータをインポートします。次に、リーダーが指定された行のすべての列から値を取得するようにします。テキストボックスがあり、それに乱数を入れたとしましょう(85)。リーダーは最初の列でこの番号を見つけ、それに応じてすべての列の値を読み取ります。
はい、可能であれば、その方法についてのガイダンスを提供していただけませんか。
これまでのところ、リーダーにすべての値を読み取らせることしかできませんでした。
主なアイデアは、テキストボックスの値を変更することにより、リーダーが異なる値のセットをメソッドに適用することです。より明確にするために、Excel シートから画像にリンクします。
vb.net - 「行/列のデータがありません。」OLEDB Oracle OleDbDataReader の実行
私はこれが非常に基本的なことを知っており、これを何百回も行ってきました。しかし、何らかの奇妙な理由で、データベースでこのコマンドを実行していますが、結果から列を読み取ろうとすると失敗します。同じ資格情報としてログインした SQL Plus でこのステートメントを実行すると、行 (テーブルには 1 行あります) が正常に選択されます。私が間違っていることはありますか?名前、インデックス、実際には任意の列で列にアクセスしようとしましたが、すべてデータがありません。.NextResult() (念のため) なしで試しましたが、同じ例外です。
これらのイミディエイト コマンドからわかるように、接続は開いています。
? DbConnection.Provider "OraOLEDB.Oracle" ? DbConnection.State オープン {1}
.net - Command オブジェクトを破棄した後に DataReader を使用しても問題ありませんか?
データベースに対して機能するヘルパー メソッドの小さなクラスを作成しました。私はこの方法について疑問に思っています:
まず Command オブジェクトを破棄してから DataReader を使用すると、何らかの問題が発生するのでしょうか?
Command オブジェクトを常に作成/破棄しないことで、コードをきちんと呼び出し続けることをお勧めします (上記のヘルパー メソッドでラップできる場合は冗長に思えます)。
c# - 列からすべての項目を選択
アクセス データベース内の特定の列 (連絡先) にあるすべての名前を取得し、";" を使用して一意の名前を分離できるようにしたいと考えています。以下は私が持っているものですが、結果は1つしか得られません。すべての結果が得られたら、文字列を使用して電子メールの宛先セクションに配置します。どんな助けでも素晴らしいでしょう!
c# - OleDbDataReader を使用してクエリを実行すると、OleDbException (0x80004005) が取得されます
データベースからのデータを保持する DataReader にいくつか問題があります..または少なくとも、これがどのように機能するかだと思います。
ComboBox があり、プログラムの開始時に、その項目に次のデータを入力します。
ユーザーがコンボボックスから1つの項目を選択すると、プログラムの開始時に正常に機能し、ComboBox にデータが入力されます。
ユーザーが最初のコンボ ボックスで選択した部門に基づいて、次の ComboBox の項目を設定したいと思います。
問題は、クラスメートと完全に似たコードを持っていて、デバッグできない異常に長いエラー メッセージがあることです。
cmbDepartment から何かを選択すると、エラーが発生します。try/catch を使用すると、次のエラー メッセージが表示されました。
c# - OleDb where like ステートメント エラー
Windows フォーム アプリケーションで ID (整数) または名前 (文字列) を使用して oledb データベースを検索しようとしています。可能な検索タイプが異なるため、ユーザーはコンボボックスで検索のタイプを選択します。スイッチを使用して2つの異なるクエリを作成します。
コンボボックスはデフォルトでNombre
(スペイン語の名前)で始まり、データベース内のすべてのアイテムが表示されます(私が望んでいたように)。
最初の問題は、ユーザーがテキストボックスにテキストを挿入したときに始まります。たとえば、テキストボックスに「p」を挿入すると、データベース内に「p」(大文字と小文字) を含むすべてのものを表示する必要がありますが、表示されません。
2 番目の問題は、ユーザーがコンボボックスで選択するId
と、エラーが発生することですInput String has not a correct format
(コメント付きおよびコメントなしの命令を使用)。
データベースで検索したいアイテムを読み取るようにコードを変更する方法はありますか?
編集
分譲ありがとう。答えを見て、私はそれらに答えようとします(コメントとして入れるには情報が多すぎます)。最初にジョンが言うようにコードを変更しましたが、今ではNombre
が選択されているときに正しく動作しています:
の部分Id
はまだこのように機能していません。
2 番目: *"If ID is a numeric field then select ... WHERE ID should not use LIKE". これは必要だと思います。番号を検索する必要はありません。挿入されたような番号を検索する必要があります。たとえば、ユーザーが 1 を選択Id
して挿入した場合、結果は 1 だけである必要はなく、11、111、231 など、1 を含む任意の数になります ( の場合Nombre
)。
最後に: 大文字と小文字の関数が必要です。これらの関数を使用した場合と使用しない場合のコードをテストしたところ、これらの関数を使用するとより完全な結果が得られました。コードは次のとおりです。
c# - 変数を作成し、データベースから値にアクセスするにはどうすればよいですか?
次のようなデータベースと oledb 接続にアクセスしています。
Select コマンドは int 値のみを返すため、この値に変数にアクセスする必要があります。
私は試した:
Return: 行/列にデータがありません。
しかし、データは存在し、選択コマンドは機能します。
これどうやってするの?
vb.net - オブジェクト参照がオブジェクト VB.Net OleDbCommand のインスタンスに設定されていません
データベースを検索するたびに、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」と表示されます。誰か助けてください。ありがとうございました。
検索用のコードは次のとおりです。
Private Sub BtnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSearch.Click
Populate ListView のコードは次のとおりです。
Public Sub PopulateListView()
Me.LV.Items.Clear()
Dim OleDr As OleDb.OleDbDataReader
OleDr = OleDa.SelectCommand.ExecuteReader()