- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我的申请中有两页。我还有一个 MySQL 类,其中包含连接参数和要执行的查询。问题是,我需要两个页面在类中使用相同的方法并将数据返回到触发它的表单。
这种方式对于一个页面来说效果很好,我只是不知道如何在两个或多个页面上使用它。
//MySQL Library
using MySql.Data.MySqlClient;
using MySql.Data;
namespace Masca.users.MySQL
{
public class registrationSQL
{
// The SQL class now knows about the registration page
public users.RegistrationPages.registrationForm Registration;
// The SQL class now knows about the registration Form and datagrid page
public users.RegistrationPages.registrationFormGrid RegistrationFormGrid;
这是我希望全局都可以访问的方法。
// I guess this part is what I cant figure out
// This is where you set where it's supposed to ruturn the strings right?
// Well What I don't get is how you add another page to return strings to if it calls the method.
public void foward (users.RegistrationPages.registrationForm RegistrationForm)
{
//Declarations
string datasource = "localhost";
string port = "3306";
string username = "root";
string password = "Password";
//Connection
string sqlcon = "datasource = " + datasource + ";" + "port=" + port + ";" + "username=" + username + ";" + "password=" + password + ";";
//Query
string query = "select * from temp.signup where tag = (select min(tag) from temp.signup where tag > '" + RegistrationForm.tag.Text + "' );";
//MySQL declarations
MySqlConnection con = new MySqlConnection(sqlcon);
MySqlCommand cmd = new MySqlCommand(query, con);
MySqlDataReader rdr;
//Excecution
try
{
//If the connection is Open
con.Open();
{
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//String population
// GetString & GetColumnValueAsString are predefined functions
// They check if a field is null or an integer before returning it as a string
string sid = GetString(rdr, "id");
string smember = GetColumnValueAsString(rdr, "member");
string stag = GetColumnValueAsString(rdr, "tag");
string sfirst = GetString(rdr, "first");
string ssecond = GetString(rdr, "second");
string sthird = GetString(rdr, "third");
string sfourth = GetString(rdr, "surname");
string sdob = rdr.GetString("dob");
string ssex = rdr.GetString("sex");
string susername = GetString(rdr, "username");
string spassword = GetString(rdr, "password");
string ssecurity = GetString(rdr, "question");
string sanswer = GetString(rdr, "answer");
string spemail = GetString(rdr, "pemail");
string swemail = GetString(rdr, "wemail");
string sdoc = rdr.GetString("doc");
string scell = GetString(rdr, "cell");
string shome = GetString(rdr, "home");
string sext = GetColumnValueAsString(rdr, "ext");
string sstreet = GetString(rdr, "street");
string ssurbub = GetString(rdr, "surbub");
string scity = GetString(rdr, "city");
string sregion = GetString(rdr, "region");
string sdept = rdr.GetString("dept");
string sbank = GetString(rdr, "bank");
string sbranch = GetString(rdr, "branch");
string saccount = GetString(rdr, "account");
// Bindings
// This is another thing
// If another page calls this method besides the 'RegistrationForm'
// How am I to direct the strings to that one instead of 'RegistrationForm'
RegistrationForm.id.Text = sid;
RegistrationForm.member.Text = smember;
RegistrationForm.tag.Text = stag;
RegistrationForm.first.Text = sfirst;
RegistrationForm.second.Text = ssecond;
RegistrationForm.third.Text = sthird;
RegistrationForm.surname.Text = sfourth;
RegistrationForm.dob.Text = sdob;
RegistrationForm.sex.Text = ssex;
RegistrationForm.username.Text = susername;
RegistrationForm.password.Text = spassword;
RegistrationForm.question.Text = ssecurity;
RegistrationForm.answer.Text = sanswer;
RegistrationForm.pemail.Text = spemail;
RegistrationForm.wemail.Text = swemail;
RegistrationForm.doc.Text = sdoc;
RegistrationForm.cell.Text = scell;
RegistrationForm.home.Text = shome;
RegistrationForm.ext.Text = sext;
RegistrationForm.street.Text = sstreet;
RegistrationForm.surbub.Text = ssurbub;
RegistrationForm.city.Text = scity;
RegistrationForm.region.Text = sregion;
RegistrationForm.dept.Text = sdept;
RegistrationForm.bank.Text = sbank;
RegistrationForm.branch.Text = sbranch;
RegistrationForm.account.Text = saccount;
}
// Close the connection
con.Close();
}
}
catch (Exception ex)
{
ModernDialog.ShowMessage(ex.Message , "SQL related error", MessageBoxButton.OK);
}
}
这就是我在“registrationForm”中调用此方法的方式
private void next_Click(object sender, RoutedEventArgs e)
{
RegistratonSql.foward(this);
}
这基本上只是允许使用页面中的文本框浏览记录。关于如何解决这个问题有任何线索吗?
最佳答案
如果我理解正确的话,你说你已经有一个访问你的数据的类,所以你的问题一半已经解决了。你真正的问题是因为你在一个类上混淆了你的担忧。在开发过程中,我们的目标是让每个类都有一个单一的目的,而您当前的问题正是其原因。
您只需将数据访问代码拆分到一个类,并准备好数据以在其他类的 UI 中显示。因此,您的 RegistrationPages
类应该只获取数据并具有名称类似于 GetThisData
和 GetThatData
的方法(显然不完全一样)。
您的其他类都需要此数据访问类的实例来访问其数据,然后将其包装起来以供显示和/或编辑......也许是这样的:
RegistrationPages dataAccess = new RegistrationPages();
SomeCollectionType data = dataAccess.GetThisData();
ObservableCollection<SomeDataType> dataForUi = PrepareDataForUi(data);
SomeUiProperty = dataForUi;
虽然另一个类可以做这样的事情:
RegistrationPages dataAccess = new RegistrationPages();
SomeOtherCollectionType data = dataAccess.GetThatData();
ObservableCollection<SomeOtherDataType> dataForUi = PrepareDataForUi(data);
SomeOtherUiProperty = dataForUi;
关于c# - 如何将类方法的值返回到调用它的相应页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24446397/
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
在编码时,我问了自己这个问题: 这样更快吗: if(false) return true; else return false; 比这个? if(false) return true; return
如何在逻辑条件下进行“返回”? 在这样的情况下这会很有用 checkConfig() || return false; var iNeedThis=doSomething() || return fa
这是我的正则表达式 demo 如问题所述: 如果第一个数字是 1 则返回 1 但如果是 145 则返回 145 但如果是 133 则返回 133 样本数据a: K'8134567 K'81345678
在代码高尔夫问答部分查看谜题和答案时,我遇到了 this solution返回 1 的最长和最晦涩的方法 引用答案, int foo(void) { return! 0; } int bar(
我想在下面返回 JSON。 { "name": "jackie" } postman 给我错误。说明 Unexpected 'n' 这里是 Spring Boot 的新手。 1日龄。有没有正确的方法来
只要“is”返回 True,“==”不应该返回 True 吗? In [101]: np.NAN is np.nan is np.NaN Out[101]: True In [102]: np.NAN
我需要获取所有在 6 号或 7 号房间或根本不在任何房间的学生的详细信息。如果他们在其他房间,简单地说,我不希望有那个记录。 我的架构是: students(roll_no, name,class,.
我有一个表单,我将它发送到 php 以通过 ajax 插入到 mysql 数据库中。一切顺利,php 返回 "true" 值,但在 ajax 中它显示 false 消息。 在这里你可以查看php代码:
我在 Kotlin 中遇到了一个非常奇怪的无法解释的值比较问题,以下代码打印 假 data class Foo ( val a: Byte ) fun main() { val NUM
请注意,这并非特定于 Protractor。问题在于 Angular 2 的内置 Testability service Protractor 碰巧使用。 Protractor 调用 Testabil
在调试窗口中,以下表达式均返回 1。 Application.WorksheetFunction.CountA(Cells(4 + (i - 1) * rows_per_record, 28) & "
我在本地使用 jsonplaceholder ( http://jsonplaceholder.typicode.com/)。我正在通过 extjs rest 代理测试我的 GET 和 POST 调用
这是 Postman 为成功调用我的页面而提供的(修改后的)代码段。 var client = new RestClient("http://sub.example.com/wp-json/wp/v2
这个问题在这里已经有了答案: What to do with mysqli problems? Errors like mysqli_fetch_array(): Argument #1 must
我想我对 C 命令行参数有点生疏。我查看了我的一些旧代码,但无论这个版本是什么,都会出现段错误。 运行方式是 ./foo -n num(其中 num 是用户在命令行中输入的数字) 但不知何故它不起作用
我已经编写了一个类来处理命名管道连接,如果我创建了一个实例,关闭它,然后尝试创建另一个实例,调用 CreateFile() 返回 INVALID_HANDLE_VALUE,并且 GetLastErro
即使 is_writable() 返回 true,我也无法写入文件。当然,该文件存在并且显然是可读的。这是代码: $file = "data"; echo file_get_contents($fil
下面代码中的变量 $response 为 NULL,尽管它应该是 SOAP 请求的值。 (潮汐列表)。当我调用 $client->__getLastResponse() 时,我从 SOAP 服务获得了
我一直在网上的不同论坛上搜索答案,但似乎没有与我的情况相符的... 我正在使用 Windows 7,VS2010。 我有一个使用定时器来调用任务栏刷新功能的应用程序。在该任务栏函数中包含对 LoadI
我是一名优秀的程序员,十分优秀!