小编rof*_*s91的帖子

如何更改DataTable中DataColumn的DataType?

我有:

DataTable Table = new DataTable;
SqlConnection = new System.Data.SqlClient.SqlConnection("Data Source=" + ServerName + ";Initial Catalog=" + DatabaseName + ";Integrated Security=SSPI; Connect Timeout=120");

SqlDataAdapter adapter = new SqlDataAdapter("Select * from " + TableName, Connection);
adapter.FillSchema(Table, SchemaType.Source);
adapter.Fill(Table);

DataColumn column = DataTable.Columns[0];
Run Code Online (Sandbox Code Playgroud)

我想做的是:

假设当前column.DataType.Name"Double".我希望它成为"Int32".

我该如何实现这一目标?

c# datatable types datacolumn

112
推荐指数
9
解决办法
29万
查看次数

在不修改注册表项的情况下读取Excel InterMixed DataType

我正在尝试使用C#来读取具有混合数据类型的excel文件.下面是我的连接字符串

var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");
Run Code Online (Sandbox Code Playgroud)

研究告诉我,Extended Properties连接字符串中的完整应该是

Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text

但是,我被告知在连接字符串中,TypeGuessRows=0 没有任何意义,因为该值将直接从注册表中获取.因此,我需要手动修改密钥并从连接字符串中删除此属性.

涉及的特定注册表项是:

路径:

HKEY_LOCAL_MACHINE\SOFTWARE \微软\喷气\ 4.0 \发动机\ EXCEL

键:

TypeGuessRows

原始值= 8,为了使其工作变为= 0

如果不这样做的IMEX将无法正常工作,甚至强硬.我添加TypeGuessRows=0进了Extended Properties.

但是,我的公司禁止修改注册表值(严格地说).我被告知找到替代方案.

简而言之:

有没有办法读取混合数据类型excel文件,无需修改任何注册表项(这是一种非常常见的做法)?

更多主题:

你以前经历过这个吗?是否有可能我们可以TypeGuessRows=0从连接字符串设置而无需修改注册表项(取消我的上述前提).

如果事情不能解决OleDb:

旁边还有替代品OleDb吗?

我感谢任何建议或建议.

问候

c# oledb registry excel registrykey

8
推荐指数
1
解决办法
1万
查看次数

如何将List <string>绑定到WebForms中的ListView中

我有一个List<string>集合,我想绑定到我的ListView.

以下是我的标记ListView:

<asp:ListView ID="lvList" runat="server">

        <LayoutTemplate>         
            <div id="Div1" runat="server">              
                <div ID="itemPlaceholder" runat="server">              
                </div>         
            </div>      
        </LayoutTemplate>

        <EmptyDataTemplate>         
            <div id="Div2" runat="server">              
                <div ID="itemPlaceholder" runat="server">                 
                No data was returned.             
                </div>         
            </div>      
        </EmptyDataTemplate>

        <ItemTemplate>
            <asp:Label ID="ProductNameLabel" runat="server" Text='<%# Eval ("theList") %>'/>
        </ItemTemplate>

</asp:ListView>
Run Code Online (Sandbox Code Playgroud)

在我的CodeBehind中:

protected void Page_Load(object sender, EventArgs e)
{         
    List<string> theList = new List<string>();
    //populate members of list
    lvList.DataSource = theList;
    lvList.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

错误信息:

System.Web.HttpException
未被用户代码处理Message ="DataBinding:'System.String'不包含名为'theList'的属性."

我想我在这里做错了,有人可以告诉我吗?

c# asp.net listview list

5
推荐指数
1
解决办法
1万
查看次数

ASP.NET GridView排序实现和事件处理

有人可以分享如何实际实现gridview排序并处理该事件,如果:

  1. 数据手动绑定
  2. Gridview是使用模板字段构建的,模板字段仅从代码后面(不是来自标记)

我仅从代码隐藏构建我的gridview,因此我不能使用默认方法或解决方案.

谢谢

c# asp.net sorting gridview

4
推荐指数
1
解决办法
1万
查看次数

在 SQL 表创建过程中还有其他方法可以创建约束吗?

假设我有以下 SQL 语句,使用 Oracle:

drop table department cascade constraints;
drop table facultyStaff cascade constraints;
drop table student cascade constraints;
drop table campusClub cascade constraints;
drop table studentClub cascade constraints;

create table department 
(   code      varchar2(3) primary key,
    name      varchar2(40)  not null,
    chair     varchar2(11));

create table facultyStaff 
(   staffID     varchar2(5) primary key,
    dob     date,
    firstName   varchar2(20),
    lastName    varchar2(20),
    rank        varchar2(10),
    deptCode    varchar2(3),
    constraint rankValue check (rank in ('Assistant', 'Associate', 'Full', 'Emeritus')),
    constraint facultyDeptFk foreign key (deptCode) references department (code));

create table …
Run Code Online (Sandbox Code Playgroud)

sql oracle

3
推荐指数
1
解决办法
418
查看次数

.net cmd Proces.Start()无法更改目录

我认为我的问题标题已经非常明确了.

Process.Start()通过传递"cmd.exe"作为参数来调用方法.但不知何故,当我执行程序时,出现的命令提示符将.../bin/debug/我的项目文件夹作为其目录.我希望它C:改为.

有人可以就此提出建议吗?

c# process

3
推荐指数
1
解决办法
1万
查看次数

用于重复字符组的Oracle数据库正则表达式

我认为我的问题很简单.我的案例包括:

ababababab
acacacacac
adadadadad
...
azazazazaz
Run Code Online (Sandbox Code Playgroud)

我需要一个可以检测我上面提到的所有情况的正则表达式.

我尝试过使用:

(a\w){5}

但它不起作用,因为它也通过:

abacadaeaf
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

regex oracle

3
推荐指数
1
解决办法
921
查看次数

如何将样式应用于ASP.NET网页的所有按钮

不久前有人问了类似的问题.但是没有人全面回答.

假设我有:

<asp:Button id="b1" Text="Submit" runat="server" />
<asp:Button id="b2" Text="Submit" runat="server" />
Run Code Online (Sandbox Code Playgroud)

我想将以下属性设置为两个按钮:

height: 100px;
width: 50px;
Run Code Online (Sandbox Code Playgroud)

假设两个属性都包含在一个类中.如何将该类应用于两个按钮?

谢谢

css asp.net

2
推荐指数
1
解决办法
1万
查看次数

从AJAX调用Php函数不起作用

我试图使用AJAX调用PHP函数.以下是我使用的脚本.

<script type="text/javascript" src="jquery.1.4.2.js">

    $(document).ready(function () { 

               // after EDIT according to 
               // @thecodeparadox answer

       $('#local').click(function(e){
            e.preventDefault();
            e.stopPropagation();
            promptdownload();
       });
    });

        function promptdownload(e) 
        {
        $.ajax({
             type: "POST",
             url: "js/prompt.php",
             data: { "get" : "runfunction", "action" : "promptlocal" },
             success: function (response) {
             }    
         });
        }
</script>
Run Code Online (Sandbox Code Playgroud)

相应的PHP代码(prompt.php)是:

<?php
$path1 = "downloads/1.jpg";
$browserFilename1 = "Local Travel";
$mimeType1 = "image/jpeg";


function promptToDownload($path, $browserFilename, $mimeType)
{

    if (!file_exists($path) || !is_readable($path)) {

        return null;
    }

    header("Content-Type: " . $mimeType);
    header("Content-Disposition: attachment; filename=\"$browserFilename\"");
    header('Expires: ' …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery

2
推荐指数
1
解决办法
1253
查看次数

Excel中的混合数据类型,IMEX不起作用

我正在尝试将xls导出到datatable中.下面是我的连接字符串.

string path = //xls source path
OleDbConnection MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel8.0;IMEX=1;TypeGuessRows=0;HDR=No;ImportMixedTypes=Text'");
Run Code Online (Sandbox Code Playgroud)

我设置IMEX=1和所有其他扩展属性,因为我必须处理混合数据类型.

即使我设置连接,但我仍然产生错误.

没有错误信息,但不一致的行(谁不遵循大多数数据类型被设定,而不是为null).

谁能告诉我我错过了什么?顺便说一句,我正在使用OleDbDataAdapter&Fill(DataSet)方法.

c# oledb datatable xls

1
推荐指数
1
解决办法
8319
查看次数