如何把数组的值插入到数据库 c#

如果我的数组中的值是zhangsan男怎么插入到数据库阿???字段namesexsqlserversql该怎么写??... 如果我的数组中的值是

zhangsan 男

怎么插入到数据库阿???

字段

name sex

sqlserver

sql该怎么写??
展开
 我来答
斋马天尼
推荐于2017-12-15 · TA获得超过486个赞
知道小有建树答主
回答量:341
采纳率:0%
帮助的人:322万
展开全部
因为楼主没有说数据库的名字,还有表名所有,我写成了方法的入口参数了。我觉得楼主应该会取数组的值的哦。

环境: .NET FRAMEWORK 2.0

需要引入的命名空间 System.Data.SqlClient

/// <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 = String.Format( @"server=localhost;database={0};uid={1};password={2};", database, userId, password );
// 构造 T-SQL 语句
string sql = String.Format( @"Insert INTO [{0}]( [name], [sex] ) VALUES( @name, @sex )", srcTable );

using( SqlConnection con = new SqlConnection( conStr ) )
{
SqlCommand cmd = new SqlCommand( sql );
// 设置参数的值
cmd.Parameters.AddWithValue( "@name", name );
cmd.Parameters.AddWithValue( "@sex", sex );

try
{
// 执行操作,并记录受影响的行数。
affected = cmd.ExecuteNonQuery();
}
catch( SqlException sqlEx )
{
throw new Exception( "数据库异常", sqlEx );
}
catch
{
throw new Exception( "未知错误" );
}
finally
{
cmd.Cancel();
cmd.Dispose();
}
}

return affected;
}
朗朗跄跄great
推荐于2016-08-17 · TA获得超过4.1万个赞
知道大有可为答主
回答量:4738
采纳率:93%
帮助的人:524万
展开全部
1.设置一个数据库的连接串,
string connectStr = "User Id=scott;Password=tiger;Data Source=";
OracleConnection conn = new OracleConnection(connectStr);
OracleCommand command = new OracleCommand();
command.Connection = conn;
conn.Open();
2.通过循环写入大量的数据
for (int i = 0; i < recc; i++)
{
string sql = "insert into dept values(" + i.ToString() + "," + i.ToString() + "," + i.ToString() + ")";
command.CommandText = sql;
command.ExecuteNonQuery();
}
//设置一个数据库的连接串
string connectStr = "User Id=scott;Password=tiger;Data Source=";
OracleConnection conn = new OracleConnection(connectStr);
OracleCommand command = new OracleCommand();
command.Connection = conn;
//到此为止,还都是我们熟悉的代码,下面就要开始喽
//这个参数需要指定每次批插入的记录数
command.ArrayBindCount = recc;
//在这个命令行中,用到了参数,参数我们很熟悉,但是这个参数在传值的时候
//用到的是数组,而不是单个的值,这就是它独特的地方
command.CommandText = "insert into dept values(:deptno, :deptname, :loc)";
conn.Open();
//下面定义几个数组,分别表示三个字段,数组的长度由参数直接给出
int[] deptNo = new int[recc];
string[] dname = new string[recc];
string[] loc = new string[recc];
// 为了传递参数,不可避免的要使用参数,下面会连续定义三个
// 从名称可以直接看出每个参数的含义,不在每个解释了
OracleParameter deptNoParam = new OracleParameter("deptno", OracleDbType.Int32);
deptNoParam.Direction = ParameterDirection.Input;
deptNoParam.Value = deptNo;
command.Parameters.Add(deptNoParam);
OracleParameter deptNameParam = new OracleParameter("deptname", OracleDbType.Varchar2);
deptNameParam.Direction = ParameterDirection.Input;
deptNameParam.Value = dname; command.Parameters.Add(deptNameParam);
OracleParameter deptLocParam = new OracleParameter("loc", OracleDbType.Varchar2);
deptLocParam.Direction = ParameterDirection.Input;
deptLocParam.Value = loc;
command.Parameters.Add(deptLocParam);
//在下面的循环中,先把数组定义好,而不是像上面那样直接生成SQL
for (int i = 0; i < recc; i++)
{
deptNo[i] = i;
dname[i] = i.ToString();
loc[i] = i.ToString();
}
//这个调用将把参数数组传进SQL,同时写入数据库
command.ExecuteNonQuery();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ychs55
2007-12-24 · TA获得超过406个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:476万
展开全部
string[] array = new string[]{"zhangsan","男"}
string sql = "Insert into 表名(name,sex) values("+array[0]+","+array[1]+")";

是这意思吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式