C#中datatable取数失败,各位看看是什么原因,脑子短路了。。datatable的定义如下:DataTable dt new DataTab
C#中datatable取数失败,各位看看是什么原因,脑子短路了。。
datatable的定义如下:
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("device");
dt.Columns.Add("devicenum");
dt.Columns.Add("mark");
dt.Columns.Add("state");
this.ViewState.Add("dt", dt);
存数据库的函数如下:
public void setProApply()
{
string str1 = ConfigurationManager.ConnectionStrings["SQLserver"].ConnectionString;
conn1 = new SqlConnection(str1);
conn1.Open();
for (int r = 0; r < dt.Rows.Count; r++)
//for (int r = dt.Rows.Count - 1; r >= 0; r--)
{
for (int m = 1;m <= Convert.ToInt32(dt.Rows[r][3].ToString());m++)
{
string sql1 = "insert into table([a],[b],[c],[d],[e],[f],[g],[h])" +
"values('" + a + "','" + txt_b.Text.ToString() + "','" + txt_c.Text.ToString() + "','" + dt.Rows[r][2].ToString() + "','" + txt_e.Text.ToString() + "','" + txt_f.Text.ToString() + "'," +
"'" + dt.Rows[r][4].ToString() + "','等待处理')";
comm1 = new SqlCommand(sql1, conn1);
try
{
comm1.ExecuteNonQuery();
}
catch (SqlException)
{
Response.Write("<script language=javascript>window.alert('信息添加失败!');</script>");
}
}
}
conn1.Close();
}
不知道为什么就是无法将数据插入到数据库。。 c# 数据库 sqlserver string
[解决办法]try
insert into table
=>
insert into [table]
[解决办法]在string sql=那附近添加断点,然后获取最终得到的SQL语句,放到数据库中去运行,看看能不能执行成功,不成功查看对应的问题
[解决办法]这种数据库操作,你可以尝试这样做
断点sql句=>提取sql语句=>在sql环境下执行sql语句=>检查错误=>处理错误
[解决办法]设置断点 把SQL语句输出来。 直接放到查询分析器上还能动执行不。然后找原因
[解决办法]我想问a从哪里来,不有见有初使化
所有东西+null都=null
[解决办法]1.有抓到异常么
2.sql有点问题,表名字不要取table,"insert into table([a],[b],[c],[d],[e],[f],[g],[h])" 后面引号前多加个空格
3.sql值是null的话第二个循环进去了么
[解决办法]是不是你 string sql1 = "insert into table([a],[b],[c],[d],[e],[f],[g],[h])" +
"values('" + a + "','" + txt_b.Text.ToString() + "','" + txt_c.Text.ToString() + "','" + dt.Rows[r][2].ToString() + "','" + txt_e.Text.ToString() + "','" + txt_f.Text.ToString() + "'," +
"'" + dt.Rows[r][4].ToString() + "','等待处理')";有异常,把这句放到try里面去。。。另外有可能出现错误的都应该放到try里用以捕抓异常
[解决办法]dt.Rows[r][3] 有值不?
你在外循环,逐次将它输出看看
[解决办法]都知道第二个循环没进去,调试下Convert.ToInt32(dt.Rows[r][3].ToString()) 这个值啊
[解决办法]values('" + a + "','" + txt_b.Text.ToString() + "','" + txt_c.Text.ToString() + "','" + dt.Rows[r][2].ToString() + "','" + txt_e.Text.ToString() + "','" + txt_f.Text.ToString() + "','" + dt.Rows[r][4].ToString() + "','等待处理')";
依次检查下这些值不就完了吗?
[解决办法]单步调试一下,看看你的sql语句到底是什么
------解决方案--------------------
m <= Convert.ToInt32(dt.Rows[r][3].ToString())
这样的写法可能直接异常