{"id":6,"date":"2021-09-16T20:07:24","date_gmt":"2021-09-16T20:07:24","guid":{"rendered":"https:\/\/webaffair.net\/blog\/?p=6"},"modified":"2024-06-02T05:55:35","modified_gmt":"2024-06-02T05:55:35","slug":"data-binding-updates-and-sqldatasource","status":"publish","type":"post","link":"https:\/\/webaffair.net\/blog\/code\/snippets\/data-binding-updates-and-sqldatasource\/","title":{"rendered":"Data Binding, Updates, and SQLDataSource"},"content":{"rendered":"\n<p>Random Things to remember:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SQLDataSource won&#8217;t bind parameters properly if you don&#8217;t specify a type, but the GUI data source setup window doesn&#8217;t guess nor prompt you to provide them. It&#8217;s under &#8216;Advanced&#8217;; or go into the code and add them.<\/li><li>GridView will automatically add anything with &#8216;id&#8217; in the field name to the DataKeys list, and anything in the DataKeys list will use the OLD value in parameters even if you bind an edit control to it. Make sure the DataKeys list only includes the primary key(s), NOT any foreign keys!<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Random Things to remember: SQLDataSource won&#8217;t bind parameters properly if you don&#8217;t specify a type, but the GUI data source setup window doesn&#8217;t guess nor prompt you to provide them. It&#8217;s under &#8216;Advanced&#8217;; or go into the code and add them. GridView will automatically add anything with &#8216;id&#8217; in the field name to the DataKeys&#8230; <a class=\"read-more\" href=\"https:\/\/webaffair.net\/blog\/code\/snippets\/data-binding-updates-and-sqldatasource\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[27],"tags":[20],"class_list":["post-6","post","type-post","status-publish","format-standard","hentry","category-snippets","tag-net-framework"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":16,"url":"https:\/\/webaffair.net\/blog\/code\/snippets\/automatically-generate-google-fonts-link\/","url_meta":{"origin":6,"position":0},"title":"Automatically generate Google Fonts link.","author":"Jay","date":"September 17, 2021","format":false,"excerpt":"Useful if you are making a customizable skin, or if you allow users to set font preferences in their account settings. Of course, the basic way you include google fonts on your page is like this: HTML (preconnects are technically optional): <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"> <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin> <link href=\"FONT\u2026","rel":"","context":"In &quot;Snippets and Notes&quot;","block_context":{"text":"Snippets and Notes","link":"https:\/\/webaffair.net\/blog\/category\/code\/snippets\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":317,"url":"https:\/\/webaffair.net\/blog\/code\/basics\/introduction-to-browser-development-tools\/","url_meta":{"origin":6,"position":1},"title":"Introduction to Browser Development Tools","author":"Jay","date":"December 18, 2025","format":false,"excerpt":"All modern desktop browsers now have integrated browser tools, however, there are subtle (and sometimes less subtle) differences between each. I find that Firefox has the best overall, though I do switch to Chrome for some specific debugging tasks. I personally only use Edge or Safari when trying to isolate\u2026","rel":"","context":"In &quot;Basics&quot;","block_context":{"text":"Basics","link":"https:\/\/webaffair.net\/blog\/category\/code\/basics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2025\/12\/DevToolsSettingsFirefox-1-scaled.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2025\/12\/DevToolsSettingsFirefox-1-scaled.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2025\/12\/DevToolsSettingsFirefox-1-scaled.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2025\/12\/DevToolsSettingsFirefox-1-scaled.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2025\/12\/DevToolsSettingsFirefox-1-scaled.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2025\/12\/DevToolsSettingsFirefox-1-scaled.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":137,"url":"https:\/\/webaffair.net\/blog\/code\/basics\/ajax-and-images\/","url_meta":{"origin":6,"position":2},"title":"AJAX and Images","author":"Jay","date":"June 22, 2024","format":false,"excerpt":"Okay so I recently figured this out, fixed it on my scripts, forgot about it, was just reminded, realized I ought to document\/share. So this is getting posted here and a couple other places. When you do a fetch() or $.get() the browser only fetches that specific page, and doesn't\u2026","rel":"","context":"In &quot;Basics&quot;","block_context":{"text":"Basics","link":"https:\/\/webaffair.net\/blog\/category\/code\/basics\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":115,"url":"https:\/\/webaffair.net\/blog\/code\/basics\/using-svg-filters-in-css\/","url_meta":{"origin":6,"position":3},"title":"Using SVG Filters in CSS","author":"Jay","date":"June 2, 2024","format":false,"excerpt":"Firstly, you'll need the svg itself. <svg style=\"height:0; overflow:hidden;\"> <defs> <filter id=\"wavy2\"> <feTurbulence x=\"0\" y=\"0\" baseFrequency=\"0.02\" numOctaves=\"5\" seed=\"1\"><\/feTurbulence> <feDisplacementMap in=\"SourceGraphic\" scale=\"20\"><\/feDisplacementMap> <\/filter> <filter id=\"goo\"><feGaussianBlur in=\"SourceGraphic\" stdDeviation=\"8\" result=\"blur\"><\/feGaussianBlur> <feColorMatrix in=\"blur\" mode=\"matrix\" values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9\"\u2026","rel":"","context":"In &quot;Basics&quot;","block_context":{"text":"Basics","link":"https:\/\/webaffair.net\/blog\/category\/code\/basics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2024\/06\/filter2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2024\/06\/filter2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/webaffair.net\/blog\/wp-content\/uploads\/2024\/06\/filter2.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":73,"url":"https:\/\/webaffair.net\/blog\/code\/snippets\/glitch-disk-full-fixes\/","url_meta":{"origin":6,"position":4},"title":"Glitch Hosting &#8220;Disk Full&#8221; Fixes","author":"Jay","date":"January 15, 2024","format":false,"excerpt":"Add to .gitignore: .cache .npm node_modules In the Terminal: rm -rf .npm rm -rf .cache rm -rf node_modules git prune git gc refresh Note!! pnpm will not understand ci and will pass it to npm directly, and you will end up with locally-installed npm modules that contribute to your quota.\u2026","rel":"","context":"In &quot;Snippets and Notes&quot;","block_context":{"text":"Snippets and Notes","link":"https:\/\/webaffair.net\/blog\/category\/code\/snippets\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9,"url":"https:\/\/webaffair.net\/blog\/code\/basics\/funky-cursor-colours\/","url_meta":{"origin":6,"position":5},"title":"Changing the Colors of Input Elements","author":"Jay","date":"September 16, 2021","format":false,"excerpt":"Ever been on a forum site with a really nice dark theme, but then you go to make a post, and are presented with a large blindingly white text area to type in? Maybe with tiny, hard to read font? Of course you have. But this is a 100% fixable\u2026","rel":"","context":"In &quot;Basics&quot;","block_context":{"text":"Basics","link":"https:\/\/webaffair.net\/blog\/category\/code\/basics\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":1,"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/posts\/6\/revisions"}],"predecessor-version":[{"id":7,"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/posts\/6\/revisions\/7"}],"wp:attachment":[{"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/media?parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/categories?post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webaffair.net\/blog\/wp-json\/wp\/v2\/tags?post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}