Oracle 数据库,想在一张表中的一个元素中插入一个大数组,该怎么做

Oracle 数据库,想在一张表中的一个元素中插入一个大数组,该怎么做,第1张

按照你的方法我来说一个具体的流程:

先把数组储存为文件

将文件以流的形式读取

将流update到表中,和你那些条件一起insert也行,注意,一定要使用参数化插入,参数类型就选blob

数据库中的值类型必须是和你程序匹配的

执行后你去查查,我亲自尝试了这个方法,是成功的,

把数组转成json或其他字符串在写入数据库,不转换字符串无法写入或自由Array,我是没试过,反正我知道是无法写入,我都是转成json后在写入。

<php

$array=array(

"data1"=>"data1",

"data2"=>array(

"data22"=>"data22",

"data222"=>"data222"

),

"data3"=>"data3"

);

$encode=json_encode($array); //数据库写入转换

$addslashes=addslashes(json_encode($array)); //如果只用英文字符的话可以直接用上面,用中文或有带斜杠/,PHP写入数据库的时候会去掉斜杠/,所以addslashes函数在转换下写入

$decode=json_decode($array,true); //数据库读取转换

>

建2个页面

1、testphp页面,代码如下:

<title></title>

<script src="jquery-142minjs" type="text/javascript"></script>

<script type="text/javascript">

$(function(){

x=100000;

y=1;

$("#dosubmit")click(function(){

var rand=parseInt(Mathrandom() (x - y ));

var rand1=StringfromCharCode(Mathfloor( Mathrandom() 26) + "a"charCodeAt(0));

var col="<input name=info["+rand1+rand+"] type='text' class='text' value='"+rand+"' />";

$("input[id=submit]")before(col);

})

$("#submit")click(function(){

$("form input[class=text]")each(function(){

var val=$(this)val();

})

})

})

</script>

<meta >

下面的例子能够实现你的要求,看不懂找我

//数据源dt,这是我自己随便造的没进数据库,你把数据库里查的结果用datatabl

接收

DataTable dt = new DataTable();

dtColumnsAdd("a",typeof(int));

dtColumnsAdd("b",typeof(int));

dtColumnsAdd("c",typeof(int));

for (int i = 0; i < 8; i++)

{

DataRow row = dtNewRow();

row["a"] = i;

row["b"] = i + 2;

row["c"] = i + 8;

dtRowsAdd(row);

}

声明二维数组

int x = dtRowsCount;

int y = dtColumnsCount;

int[,] num = new int[x, y];

遍历dt将查到的数据加给二维数组

for (int i = 0; i < x; i++)

{

for (int j = 0; j < y; j++)

{

num[i,j] = intParse(dtRows[i][j]ToString());

}

}

遍历加完数据的二维数组并输出结果

SystemTextStringBuilder sb = new SystemTextStringBuilder();

sbAppend("<table>");

for (int i = 0; i < x; i++)

{

sbAppend("<tr>");

for (int j = 0; j < y; j++)

{

sbAppend("<td>"+num[i,j]ToString()+"</td>");

}

sbAppend("</tr>");

}

sbAppend("</table>");

ResponseWrite(sbToString());

因为楼主没有说数据库的名字,还有表名所有,我写成了方法的入口参数了。我觉得楼主应该会取数组的值的哦。

环境: NET FRAMEWORK 20

需要引入的命名空间 SystemDataSqlClient

/// <summary>

/// 插入数据。

/// </summary>

/// <param name="database">数据库名</param>

/// <param name="userId">登录数据库的用户名</param>

/// <param name="password">登录密码</param>

/// <param name="srcTable">数据表名</param>

/// <param name="name">表字段 name</param>

/// <param name="sex">表字段 sex</param>

/// <returns></returns>

public int InsertData

( string database, string userId, string password, string srcTable, string name, string sex )

{

int affected = -1; // 用于记录受影响的行数。

// 构造连接字符串

string conStr = StringFormat( @"server=localhost;database={0};uid={1};password={2};", database, userId, password );

// 构造 T-SQL 语句

string sql = StringFormat( @"Insert INTO [{0}]( [name], [sex] ) VALUES( @name, @sex )", srcTable );

using( SqlConnection con = new SqlConnection( conStr ) )

{

SqlCommand cmd = new SqlCommand( sql );

// 设置参数的值

cmdParametersAddWithValue( "@name", name );

cmdParametersAddWithValue( "@sex", sex );

try

{

// 执行 *** 作,并记录受影响的行数。

affected = cmdExecuteNonQuery();

}

catch( SqlException sqlEx )

{

throw new Exception( "数据库异常", sqlEx );

}

catch

{

throw new Exception( "未知错误" );

}

finally

{

cmdCancel();

cmdDispose();

}

}

return affected;

}

以上就是关于Oracle 数据库,想在一张表中的一个元素中插入一个大数组,该怎么做全部的内容,包括:Oracle 数据库,想在一张表中的一个元素中插入一个大数组,该怎么做、php数组插入数据库这个功能该怎么实现、php中 jquery如何获取js动态添加的文本框数组值,并插入mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9794712.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存