Access数据库多条数据Insert
由于在此之前我没有用过Access数据库的,当需要想数据库中插入多条数据时,我们不妨先按照sql server的做法:insert into tablename(column1,column2) values (a,b),(c,d),(e,f)。于是按照这个思路,我的第一个方案出来了。 尝试一: The Demo: StringBuild
由于在此之前我没有用过Access数据库的,当需要想数据库中插入多条数据时,,我们不妨先按照sql server的做法:“insert into tablename(column1,column2) values (a,b),(c,d),(e,f)”。于是按照这个思路,我的第一个方案出来了。
尝试一:
The Demo:
StringBuilder BuiList = new StringBuilder(string.Format("({0},0)", UserID)); foreach (RepeaterItem item in Rpt_AdminRole.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { HtmlInputCheckBox cbRole = item.FindControl("cb_Role") as HtmlInputCheckBox; if (cbRole.Checked) { BuiList.Append(",("); BuiList.Append(UserID); BuiList.Append(","); BuiList.Append(cbRole.Value); BuiList.Append(")"); } } }The Dal:
///exec下就会出现这样的错误:SQL 语句的结束位置缺少分号 (;)。
Access对sql的支持果然是大大精简,到此尝试一失败!, 很快在我有另外idea。sql server 多表查询对select table 的支持!我可以直接传一个DataTable到sql语句中,说干就干!
尝试二
The Demo : 获取DataTable
public DataTable GetInsertSQL(Repeater rep,string controlID) { DataTable data = new DataTable(); data.Columns.Add("AdminID"); data.Columns.Add("RoleID"); foreach (RepeaterItem item in rep.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { HtmlInputCheckBox cb = item.FindControl(controlID) as HtmlInputCheckBox; if (cb.Checked) { DataRow row = data.NewRow(); row.ItemArray = new object[] { UserID, cb.Value}; data.Rows.Add(row); } } } return data; }The Dal:
public static int InsertRoleContact(DataTable dt) { string sql = "insert into Sky_Admin_Role(AdminID,RoleID) select * from @Data"; OleDbParameter[] param = new OleDbParameter[] { new OleDbParameter("@Data",?){Value =dt} }; return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, sql, param); }当代码到这里我就知道此方法行不通,因为OledbType中没有对应的table类型,如果是SQL server由于支持xml可以设置为 SqlDbType.Xml类型来传递DataTable数据,由于sql本事对xml的支持 ,可以用sql基于xml的查询,本文主要讨论Access,此处暂不讨论了!尝试二宣布失败!。接下来我又想到了零时表,Access是不是也支持零时表的查询呢?
尝试三
The Demo: 取出我想要的数据格式 (1,2,3)
public string GetInserCollection(Repeater rep, string controlID) { StringBuilder buiCollecton = new StringBuilder(""); buiCollecton.Append("(0"); foreach (RepeaterItem item in rep.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { HtmlInputCheckBox cb = item.FindControl(controlID) as HtmlInputCheckBox; if (cb.Checked) { buiCollecton.Append(string.Format(",{0}", cb.Value)); } } } buiCollecton.Append(")"); return buiCollecton.ToString(); }
The Dal :
public static int InsertRoleContact(int UserID,string RoleCollection)
{
StringBuilder BuiSQL = new StringBuilder("");
BuiSQL.Append("declare @SkyContact table(userID int,roleID int);");
BuiSQL.Append("insert into @SkyContact values select " + UserID + ",R_ID from Sky_Role;");
BuiSQL.Append(string.Format("insert into Sky_Admin_Role values (select * from @SkyContact where roleID in {0})",RoleCollection));
return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, BuiSQL.ToString(), null);
}
这里模仿SQL Server中定义一个零时表,然后向其中插入尽可能全的数据,然后在基于零时表查询出想要的数据放入到我想要的数据中执行!exec下结果又出问错了!此处抛出这样的错误:无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。其实会出错完全可以想想的到,毕竟Access中连insert into table values (1,2),(1,3) 这样的语句都不支持。此时尝试三也不得不宣告失败!尝试了这么多,我不得不使用早就准备用的方法 多条insert一起执行。
尝试四
The Demo: 先获取我想要的数据形式 :1,2,3 此处略。看sql:
public static int InsertRoleContact2(int UserID, string RoleCollection) { string[] arr = RoleCollection.Split(','); StringBuilder BuilSQL = new StringBuilder(""); foreach (string item in arr) { BuilSQL.Append( string.Format("insert into Sky_Admin_Role(AdminID,RoleID) values ({0},{1});",UserID,Convert.ToInt32(item))); } return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, BuilSQL.ToString(), null); }
Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

1. Ouvrez les paramètres dans Windows 11. Vous pouvez utiliser le raccourci Win+I ou toute autre méthode. 2. Accédez à la section Applications et cliquez sur Applications et fonctionnalités. 3. Recherchez l'application que vous souhaitez empêcher de s'exécuter en arrière-plan. Cliquez sur le bouton à trois points et sélectionnez Options avancées. 4. Recherchez la section [Autorisations d'application en arrière-plan] et sélectionnez la valeur souhaitée. Par défaut, Windows 11 définit le mode d'optimisation de l'alimentation. Il permet à Windows de gérer le fonctionnement des applications en arrière-plan. Par exemple, une fois que vous avez activé le mode d'économie de batterie pour préserver la batterie, le système fermera automatiquement toutes les applications. 5. Sélectionnez [Jamais] pour empêcher l'application de s'exécuter en arrière-plan. Veuillez noter que si vous remarquez que le programme ne vous envoie pas de notifications, ne parvient pas à mettre à jour les données, etc., vous pouvez

Deepseek ne peut pas convertir les fichiers directement en PDF. Selon le type de fichier, vous pouvez utiliser différentes méthodes: documents communs (Word, Excel, PowerPoint): utilisez Microsoft Office, LibreOffice et d'autres logiciels à exporter sous forme de PDF. Image: Enregistrer sous le nom de PDF à l'aide d'une visionneuse d'image ou d'un logiciel de traitement d'image. Pages Web: Utilisez la fonction "Imprimer en PDF" du navigateur ou l'outil Web dédié à PDF. Formats peu communs: trouvez le bon convertisseur et convertissez-le en PDF. Il est crucial de choisir les bons outils et d'élaborer un plan basé sur la situation réelle.

Récemment, le milieu militaire a été submergé par la nouvelle : les avions de combat militaires américains peuvent désormais mener des combats aériens entièrement automatiques grâce à l'IA. Oui, tout récemment, l’avion de combat IA de l’armée américaine a été rendu public pour la première fois, dévoilant ainsi son mystère. Le nom complet de ce chasseur est Variable Stability Simulator Test Aircraft (VISTA). Il a été personnellement piloté par le secrétaire de l'US Air Force pour simuler une bataille aérienne en tête-à-tête. Le 2 mai, le secrétaire de l'US Air Force, Frank Kendall, a décollé à bord d'un X-62AVISTA à la base aérienne d'Edwards. Notez que pendant le vol d'une heure, toutes les actions de vol ont été effectuées de manière autonome par l'IA ! Kendall a déclaré : "Au cours des dernières décennies, nous avons réfléchi au potentiel illimité du combat air-air autonome, mais cela a toujours semblé hors de portée." Mais maintenant,

Modèle 70B, 1000 tokens peuvent être générés en quelques secondes, ce qui se traduit par près de 4000 caractères ! Les chercheurs ont affiné Llama3 et introduit un algorithme d'accélération. Par rapport à la version native, la vitesse est 13 fois plus rapide ! Non seulement il est rapide, mais ses performances sur les tâches de réécriture de code dépassent même GPT-4o. Cette réalisation vient d'anysphere, l'équipe derrière le populaire artefact de programmation d'IA Cursor, et OpenAI a également participé à l'investissement. Il faut savoir que sur Groq, un framework d'accélération d'inférence rapide bien connu, la vitesse d'inférence de 70BLlama3 n'est que de plus de 300 jetons par seconde. Avec la vitesse de Cursor, on peut dire qu'il permet une édition complète et quasi instantanée des fichiers de code. Certaines personnes l'appellent un bon gars, si tu mets Curs

" sept péchés capitaux" » Dissiper les rumeurs : selon des informations divulguées et des documents obtenus par Vox, la haute direction d'OpenAI, y compris Altman, était bien au courant de ces dispositions de récupération de capitaux propres et les a approuvées. De plus, OpenAI est confronté à un problème grave et urgent : la sécurité de l’IA. Les récents départs de cinq employés liés à la sécurité, dont deux de ses employés les plus en vue, et la dissolution de l'équipe « Super Alignment » ont une nouvelle fois mis les enjeux de sécurité d'OpenAI sur le devant de la scène. Le magazine Fortune a rapporté qu'OpenA

Oracle peut lire les fichiers dbf en suivant les étapes suivantes : créer une table externe et référencer le fichier dbf ; interroger la table externe pour récupérer les données dans la table Oracle ;

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples
