您好,
1、DbProviderFactory创建的是实现DBCommand的类,DBCommand表示对数据库执行的指令。CommandText只是其的关于Sql指令的属性。要决定是否使用存储过程,还需要CommandType来确定。可以对Access调用oledbFactory,对SqlServer调用SqlClientFactory。两者不会冲突。针对不同的存储介质有不同的工厂,所以不存在您提出的担心。
2、可以用替换字符串来防止,例如替换--这种关键的注释符号,当然可以在网上搜索,相信会有更完善的方法。