問題タブ [sqldatasource]
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# - SQLDataSource の作成
テーブルがあります ( EmployeeID
, EmployeeName
, ) を作成して、指定されたからを含めるにはManagerID
どうすればよいですか? ドラッグした後、バインディングを表示するにはどうすればよいですか? カスタム、、またはを書かずに使用することはできますか? そうでない場合、カスタムグリッドとソースなど、全体を記述するために必要な手順は何ですか?SQLDataSource
ManagerName
EmployeeName
EmployeeID = ManagerID
GridView
DropDownList
ManagerName
SELECT
INSERT
DELETE
UPDATE
c# - GridView の Row メソッドの削除
削除メソッドを実装し、削除操作のパラメーターを渡そうとしています。私はsqldatasourceを使用しています。グリッドビューに ID の列がないため、ID の値を取得して削除パラメータとして設定するにはどうすればよいですか?
.net - MSDynamicsCRMが.NETエラーを処理する前にトラップする
これは楽しいものです。
デフォルトの連絡先ビューよりも高速でユーザーフレンドリーな検索を提供し、リードと連絡先を同時に検索できるカスタム検索ページを作成しました。フィルタリングされたビューをクエリするSqlDataSourcesにバインドされたGridViewsを使用します。誰かが私がこれにWebサービスを使用していないと不平を言うと確信していますが、これは私たちが行った設計上の決定にすぎません。
これらのGridViewはUpdatePanelsに存在し、検索時に非常に洗練されたAJAX更新を可能にします。
それはすべてうまく機能しています。1つを除いて、ほぼデプロイの準備ができています。長時間実行される検索の中には、キャッチできないSQLタイムアウト例外がトリガーされているものがあります。
このエラーが発生したときにUpdatePanelsがJavaSriptエラーをスローし始めたため、CRMがこのエラーをキャプチャするためにserver.transferを実行していることがわかりました。IEでJavaScriptデバッガーを使用することによってのみ、完全なエラーメッセージを取得できました。
このエラーを見つけたので、解決策は簡単だと思いました。エラーをキャプチャするには、databind呼び出しをtry/catchブロックでラップする必要がありました。
残念ながら、CRMのIIS構成には、コードに戻る前にこのエラーをキャプチャする魔法の機能があるようです。デバッガーを使用すると、私はそれを見ることはありません。それは私のキャッチブロックに到達することはありませんが、それは明らかに(スタックトレースによって)私のGridViewバインドによってトリガーされているSQLデータソースで発生しています。
これについて何かアイデアはありますか?それは私を夢中にさせています。
コードビハインド(一部の無関係な関数は省略されています):
asp.net - ASP.NET SqlDataSource の更新と FK 参照の作成
短いバージョン:
FK が null になる可能性があるため、左結合を持つ SelectCommand を持つデータ ソースにバインドされたグリッド ビューがあります。更新時に、FK が null の場合は FK テーブルにレコードを作成し、親テーブルを新しいレコード ID で更新したいと考えています。これは SqlDataSources だけで可能ですか?
詳細版:
Company と Address の 2 つのテーブルがあります。列 Company.AddressId は null にすることができます。私の ascx ページでは、SqlDataSource を使用して会社と住所の左結合を選択し、GridView を使用して結果を表示しています。SqlDataSource の UpdateCommand と DeleteCommand で、セミコロンで区切られた 2 つのステートメントを実行することで、GridView の編集機能と削除機能を使用して、両方のテーブルを同時に更新できます。
私が抱えている問題は、Company.AddressId が null の場合です。私が行う必要があるのは、データ ソースで Address テーブルにレコードを作成し、Company テーブルを新しい Address.ID で更新してから、通常どおり更新を続行することです。一貫性/シンプルさのために、可能であればデータソースのみでこれを行いたいと思います。私のデータ ソースでこれを行うことは可能ですか、それともページに 2 番目のデータ ソースを追加してこの処理の一部を処理することはできますか?
それが機能したら、おそらくInsertCommandでも機能させる方法を理解できるでしょうが、もしあなたが順調に進んでいて、それを飛ばす方法についての答えを持っているなら、それを自由に提供してください。
ありがとう。
asp.net - プログラムで SqlDataSource の ASP.NET 設定パラメーターがポストバックで機能しない
http://www.asp.net/data-access/tutorials/using-parameterized-queries-with-the-sqldatasource-vbの手順 5 で説明されているように、プログラムで SqlDataSource のパラメーターを設定したいと考えています。また、GridView は sqlDataSource にバインドされます。私のマークアップは次のとおりです。
コードビハインドには、次のものがあります。
calcResult() からの戻り値は、ポストバックごとに異なります。ポストバックは、UseSubmitBehavior=True のフォームでユーザーがボタンをクリックすると発生します。
デバッガーを使用してコード ビハインドをステップ実行すると、ページが読み込まれるたびにデバッガーが実行され、clacResult() から返される期待値が表示されます。
ただし、バインドされた DataGrid はポストバック時に更新されることはなく、最初のページの読み込み時にのみ更新されます。
ソースとしてコントロールを持つように SqlDataSource パラメーターを変更すると、ポストバックで機能します。つまり、使用するマークアップを次のように変更しました。
コードビハインドを次のように変更しました。
TextBox コントロールを SqlDataSource パラメーターのソースとして使用すると、GridView の更新は元のページの読み込みとすべてのポストバックに対して機能します。ただし、私は実際には TextBox を必要としないので、使用したくありません。
SqlDataSource のパラメーターをプログラムで設定する方法について何が欠けていますか? コントロール ソースがないときに SqlDataSource パラメーターをプログラムで設定すると、バインドされた GridView がポストバックで更新されないのはなぜですか?
asp.net - MySqlテーブルのListView+SqlDatasourceを構成しようとしたときのASP.NETエラー
ASP.NET +MySqlDbを使用しています。ListViewを構成しようとしているので、次のように記述しました。
/>
私のaspxページの始めに私は追加しました
しかし、sqldatasourceをクリックして[Refresh Schema]をクリックすると、次のエラーが発生します。
「スキーマを取得できません。..。要求された.NetFrameworkデータプロバイダーが見つかりません。」
たとえば、私はそれをインストールしましたが、古いバージョンもアンインストールしてから、新しいバージョンをインストールしました。私のプロジェクトでは、Mysql dllを「bin」フォルダーにコピーしてから、そのdllへの参照を追加します。正しい方法かわかりません...
vs.netがリストビューを自動的にビルドできるようにするには、「更新されたスキーマ」が必要です...リストビューを「自動ビルド」できない場合は、すべてのコードを手動で作成する必要があり、コストがかかりすぎます。自分 :(
私は何が間違っていますか?
ありがとうございました!
.net - SqlDataSource をデバッグする方法
SQL インジェクション攻撃に対してサイトをテストしており、SQL サーバーに送信された SqlDataSource メッセージを追跡したいと考えています。どうすればそれを行うことができるか、少なくともできる限り近づくことができます.
asp.net - コントロールパラメータを介してGridviewフィールド値でドロップダウンリストをフィルタリングしようとしてエラーが発生しました
恐ろしい「DropDownList1」にSelectedValueがありますが、これはアイテムのリストに存在しないため無効です。パラメータ名:他のバウンドフィールド値の1つを使用してテンプレートフィールドのドロップダウンリストをフィルタリングしようとしたときの値エラー(部門に基づいて従業員のリストを取得しようとしています-つまり、ユーザーは従業員を変更できますが、別の値にのみ変更できます同じ部門のメンバー)。
コードは次のとおりです。
私が間違っていることを本当に見ることができません。Select Parameterを使用せず、「従業員から従業員名を選択」だけを使用すると、従業員のリスト全体が正常に表示されます。制御パラメータを使用しようとするとすぐに失敗します。ヘルプ!:)
提供された支援を事前に感謝します。
c# - GridViewで読み取り専用モードでフィールドを更新すると、その値は空になります
ReadOnlyプロパティがTrueに等しい数少ないフィールドの1つで、値フィールドの編集と更新は空です。ReadOnlyプロパティが記録されます。ReadOnlyプロパティもあり、その値は空ではありません。(GridViewがSqlDataSourceに接続されています)この問題を解決するにはどうすればよいですか?
asp.net - TVP を受け入れるように ASP.NET SQL データソースを設定する方法
分離コードでは、ストアド プロシージャの SqlDbType.Structured として TVP を追加しますが、これは ASP.NET SqlDataSource コントロールには存在しません。
Datatables をセッション変数に保存しました (小さいので心配しないでください!)。それらをパラメーターとして SqlDataSource (多数のデータバインド オブジェクトを持つ) に渡す必要があります。
Datasource をセッション変数に指定しましたが、テーブル型への変換に失敗します。
編集:セッション変数を方程式から外したとしましょう(実際には、完全に接しているため)
DBType.Structured を SQLDataSource にアタッチする方法が必要です。リストビューは適切にデータバインドされていますが、それらが接続されているストア プロシージャは TVP を使用する必要があります
SQLDataSource の TVP パラメータを送信する方法がないとは信じられませんか? 私の代替手段は何ですか?
EDIT2: SqlDataSource のカスタム パラメーターの作成を検討してきましたが、その「eval」メソッドが構造化されたデータ型に満足できないように思えます
EDIT3: 私の唯一のオプションは、データ バインドされたコントロールのコード ビハインドですべての作業を行うことであると思われ始めています。他の誰かがエレガントなソリューションを持っている場合に備えて、賞金を追加しました。
EDIT4:おそらく、テーブルをオブジェクトとしてストアド プロシージャに渡し、SQL Server でそれを TVP に変換する方法はありますか?