14 个解决方案
#1
拼SQL啊,你想用??的话,就用个循环把字符替换掉,拼成一个长的SQL再执行.
#2
拼SQL是什么意思,我的??是表示对表的编号,我要的是WebForm操作代码,而不是要SqlServer的代码
#3
用“关系”,或者“触发器”进行操作。
#4
主要是用户界面的代码及控件呢?
#5
上面两们大侠说的好象与我提的功能要求不一致?!
#6
关于数据库操作不用谈,主要指点如何对这10张表中的任意一张的显示,修改,查询,删除等功能,后台的数据库操作可不说
#7
帮顶
#8
1)你通过配置文件或数据库配置表决定哪些表需要进行统一维护
2)编写一套维护操作管理类,负责对任意一个同结构表进行维护,其中表名是一个参数,在所有维护提交时,表名通过字符串拼入insert/update/delete语句,具体维护字段信息通过参数提交。
2)编写一套维护操作管理类,负责对任意一个同结构表进行维护,其中表名是一个参数,在所有维护提交时,表名通过字符串拼入insert/update/delete语句,具体维护字段信息通过参数提交。
#9
大侠们,你们平时做数据库方面的程序,是如何对表进行维护?
#10
aafshzj(上海北京) 大侠,给点具体的代码行吗?!
#11
大侠们,都上哪啦?
#12
我个人是通过自己的AAF框架进行所有开发工作。关于AAF的更多信息,可以看看我的blog。
你的这个代码我就给一个粗线条框架吧,你自己充实一下:
using System.Data.SqlClient;
namespace test
{
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
reader = cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static DataSet SelectData(string table)
{
......
}
}
}
你的这个代码我就给一个粗线条框架吧,你自己充实一下:
using System.Data.SqlClient;
namespace test
{
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
reader = cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static DataSet SelectData(string table)
{
......
}
}
}
#13
首先谢谢aafshzj(上海北京),先去看看你的Blog
#14
更正了一下,是可以调试通过的。当然运行还不行,还有很多要你自己实现:
using System.Data.SqlClient;
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
return null;
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
string yourConnectionString = null;
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static DataSet SelectData(string table)
{
return null;
}
}
using System.Data.SqlClient;
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
return null;
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
string yourConnectionString = null;
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static DataSet SelectData(string table)
{
return null;
}
}
#1
拼SQL啊,你想用??的话,就用个循环把字符替换掉,拼成一个长的SQL再执行.
#2
拼SQL是什么意思,我的??是表示对表的编号,我要的是WebForm操作代码,而不是要SqlServer的代码
#3
用“关系”,或者“触发器”进行操作。
#4
主要是用户界面的代码及控件呢?
#5
上面两们大侠说的好象与我提的功能要求不一致?!
#6
关于数据库操作不用谈,主要指点如何对这10张表中的任意一张的显示,修改,查询,删除等功能,后台的数据库操作可不说
#7
帮顶
#8
1)你通过配置文件或数据库配置表决定哪些表需要进行统一维护
2)编写一套维护操作管理类,负责对任意一个同结构表进行维护,其中表名是一个参数,在所有维护提交时,表名通过字符串拼入insert/update/delete语句,具体维护字段信息通过参数提交。
2)编写一套维护操作管理类,负责对任意一个同结构表进行维护,其中表名是一个参数,在所有维护提交时,表名通过字符串拼入insert/update/delete语句,具体维护字段信息通过参数提交。
#9
大侠们,你们平时做数据库方面的程序,是如何对表进行维护?
#10
aafshzj(上海北京) 大侠,给点具体的代码行吗?!
#11
大侠们,都上哪啦?
#12
我个人是通过自己的AAF框架进行所有开发工作。关于AAF的更多信息,可以看看我的blog。
你的这个代码我就给一个粗线条框架吧,你自己充实一下:
using System.Data.SqlClient;
namespace test
{
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
reader = cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static DataSet SelectData(string table)
{
......
}
}
}
你的这个代码我就给一个粗线条框架吧,你自己充实一下:
using System.Data.SqlClient;
namespace test
{
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
reader = cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
......
}
public static DataSet SelectData(string table)
{
......
}
}
}
#13
首先谢谢aafshzj(上海北京),先去看看你的Blog
#14
更正了一下,是可以调试通过的。当然运行还不行,还有很多要你自己实现:
using System.Data.SqlClient;
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
return null;
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
string yourConnectionString = null;
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static DataSet SelectData(string table)
{
return null;
}
}
using System.Data.SqlClient;
public class XxTableManager
{
private XxTableManager()
{
}
public static string[] GetXxTableNames()
{
// 从配置文件或一个特殊的表读取哪些数据表受本类型“管辖”,你甚至可以更进一步,通过接口建立各种
// 表族的统一管理入口和各自的“驱动”,但那最好留待将来。
return null;
}
public static void InsertData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
string sql = "insert into {0} (fieldname1, fieldname1, fieldname1) values (@p0, @p1, @p2)";
sql = string.Format(sql, table);
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
string yourConnectionString = null;
conn = new SqlConnection(yourConnectionString);
conn.Open();
/// 创建command,把fieldvalues作为参数写进去。
SqlCommand cmd = new SqlCommand(sql, conn);
for (int i = 0; i < fieldValues.Length; i++)
{
// 2. define parameters used in command object
SqlParameter param = new SqlParameter();
param.ParameterName = "@p" + i;
param.Value = fieldValues[i];
// 3. add new parameter to command object
cmd.Parameters.Add(param);
}
// get data stream
cmd.ExecuteNonQuery();
}
//catch
//{
//}
finally
{
// close reader
if (reader != null)
{
reader.Close();
}
// close connection
if (conn != null)
{
conn.Close();
}
}
}
public static void DeleteData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static void UpdateData(string table, object[] fieldValues)//可以根据你预先设定的顺序传入字段值
{
}
public static DataSet SelectData(string table)
{
return null;
}
}